New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get devopment frameworks like Truffle to work with Nimbus #103

zah opened this Issue Aug 9, 2018 · 2 comments


None yet
2 participants

zah commented Aug 9, 2018

Now that we have a nearly feature-complete EVM implementation, our next goal is to start executing increasingly more complex code. It should be possible to use Nimbus with some of the existing ethereum development tools and frameworks in order to test and execute arbitrary smart contract code.

As an example of a very popular development framework, see Truffle:

Such tools usually interact with a locally running empty development chain. The work-flow is the following:

  1. Smart contract code is written and compiled to a local file (this is taken care by the framework)

  2. The contract is published to a locally running blockchain. Truffle uses JSON-RPC to talk to a locally running Ethereum client. By default, Truffle prefers to use its own Ethereum implementation (see truffle develop, but it should be possible to pair it with a local copy of Nimbus started with an empty custom chain. See this guide for pairing Truffle with Geth as an example).

  3. Transactions are created which execute methods of the contract. Again, this is done over JSON-RPC.

To support this work-flow, Nimbus will have to be enhanced with specific configuration options and the ability to work with multiple blockchains stored on disk. All required JSON-RPC calls employed by the development framework will have to be implemented. This issue is considered an "Epic", it should be broken down in smaller tasks once they are identified.


This comment has been minimized.


zah commented Aug 16, 2018

This is the list of RPC procs most crucial for Embark:

web3_clientVersion - so we can display it's Nimbus running...
shh_version and other whisper methods

This comment has been minimized.


coffeepots commented Aug 21, 2018

  • eth_sendTransaction

  • eth_call

  • eth_getTransactionReceipt

  • eth_accounts

  • eth_getCode

  • eth_getBlockByNumber

  • eth_estimateGas

  • web3_clientVersion

  • eth_gasPrice

  • shh_version

  • shh_post

  • shh_newIdentity

  • shh_hasIdentity

  • shh_newGroup

  • shh_addToGroup

  • shh_newFilter

  • shh_uninstallFilter

  • shh_getFilterChanges

  • shh_getMessages

@coffeepots coffeepots referenced this issue Nov 19, 2018


Current TODO items for 1.0 #177

6 of 163 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment