web3j / web3j-corda

Lightweight JVM library for integrating with Corda
https://corda.web3j.io
Apache License 2.0
14 stars 6 forks source link

Refactor Corda network DSL to produce a generic lib module? #38

Open manosbatsis opened 3 years ago

manosbatsis commented 3 years ago

Testcontainers support in corda-testacles currently requires the result of cordform/deployNodes as input. I've wanted to add testcontainers support for more "ad hoc" networks using a DSL for a while now. which obviously has a considerable overlap with web3j-corda's test module.

Instead of me essentially duplicating org.web3j.corda.network.CordaNetwork, would you be interested in a PR that breaks-up the existing web3j-corda-test to add an additional module, one providing a more generic/vanilla DSL library for others to extend? My understanding is such a module would leave out the focus on braid and hooks to RPC-enabled flows, those would remain in web3j-corda-test. This new module should allow me to reuse/extend the DSL implementation and i'd rather help maintaining a common reusable codebase than replicating "my own".

xaviarias commented 3 years ago

Thanks @manosbatsis for this proposal. As you say the web3j-corda-test module was intended to support pure Testcontainers Corda networks with a Kotlin DSL similar to the Cordform plugin. Unfortunately this plugin cannot be extended, so we decided to build a tool from the scratch.

IMO, the Braid support can be dropped out as there is no clear roadmap on this project since a while ago. So that would simplify things for you since there would be no need for an extra module for the moment. We could always extend it later to add Braid support if needed but I believe you can safely proceed without it.

How that sounds for you?

manosbatsis commented 3 years ago

Seems i (optionally) need braid too. I'll try to use the module dependency as is, then submit an MR with what i had to change for me to do so and we can take it from there - if you like it we can update/merge it, no strings attached. Thanks!

xaviarias commented 3 years ago

Why would you need Braid?

manosbatsis commented 3 years ago

Cordite!