-
Notifications
You must be signed in to change notification settings - Fork 39
Does openzeppelin-test-environment support other clients? #125
Comments
Related to #20. We need this feature so that we can use our instrumented client for running tests instead of ganache-cli (we collect extra data with our client that we use for quality assurance purposes). Would it be possible to expose an option for selecting the client? In our case, we've made sure our client is argument-for-argument compatible with ganache-cli, so all we need to do is replace the call to |
We have considered supporting other clients before, but one of the main things Test Environment does is set up the accounts for Ganache, in a way that doesn't look simple or even possible to do with other clients. This means that the current design is quite coupled to Ganache itself, so it would require considerable effort to support other clients at the moment. @ehildenb Note that we are using |
Well I think there is a lot of benefit to supporting any web3 client, because Can you shed more light on this statement? "but one of the main things Test Environment does is set up the accounts for Ganache, in a way that doesn't look simple or even possible to do with other clients" What type of setup does it do? Maybe we can do the same with our client. |
If your client is based on Ganache it's probably also possible for Test Environment to use it. It just wouldn't be a one-line change. The issue with accounts is that they're generated synchronously so that they can be available at the top level of a file (since they don't require |
We do have a mechanism for providing the private keys for accounts directly over RPC. Our client is not based on ganache, it's completely separate, but we've made it command-line compatible with ganache-cli in the hopes that other testing tools would be able to integrate our client directly and benefit from the extra information we collect. Is the account initialization the only step that would be tricky for switching out the underlying client used? In our case, that boils down to sending a sequence of BTW, we are working on the Firefly client: https://fireflyblockchain.com/ |
If it's done via RPC it could likely be done since it's a similar architecture to what we're doing with Ganache in Test Environment. I can't think of other complications that might show up. While I'd encourage you to fork the library and set it up, I can't guarantee that we'll be able to merge it back and support it by default. |
@frangio Hi! I'm from team Firefly, and currently as you've encouraged, we are investing in forking this library and trying to add support for other clients including Firefly. May I get some hint on which part of the code should we look into, try to modify and get this feature added? |
@wenhaosu I think you want to look at |
@frangio Thanks for the reply! In |
@wenhaosu Test Environment was deliberately designed as a library so there is no CLI. |
Does openzeppelin-test-environment support other clients such as Parity, Geth, cpp-ethereum, etc.
Thank you!
The text was updated successfully, but these errors were encountered: