Run an Ethereum node (Geth or Openethereum) for development
ethnode
, run an Ethereum node for test and developmentethnode
is a zero configuration tool to run a local Ethereum node. It supports both Openethereum and Geth.
Try it out:
npm install -g ethnode
ethnode
Or docker:
docker run -it ghcr.io/vrde/ethnode:latest
ethnode
automatically:
geth
or openethereum
geth
or openethereum
to run in a single node network using the clique (Geth) or InstantSeal (Openethereum) consensus engine (transactions are processed instantly)By default ethnode
runs geth
. If you want to run openethereum
type ethnode openethereum
.
Every time you run ethnode
, it creates a new temporary directory to store the data. If you want to persist the data in a specific directory use:
ethnode --workdir=mydata
Sometimes you want to allocate Ether to some specific addresses (maybe some other accounts you have on MetaMask). This is an alternative approach to import a private key to your MetaMask extension.
ethnode --allocate=0xad7b5e515e557b2dc4d0625d206394b502412003,0xecdd5b467e38731bfad4bd75faa45c7d58e41b49
This is quite handy if you want to have a precommit hook that runs tests before committing, or if you want to integrate with a continuous integration system like travis.
ethnode --execute="truffle test"
openethereum --config dev
?Openethereum has a nice feature to run it as a private development chain (aka test RPC).
While testing it, I run into some problems, like:
--config dev
) doesn't:
geth --dev
?More or less for the same reasons mentioned above.
ganache-cli
?Ganache sometimes is not enough.