gitlab.com/lightnet1/evrynet-node@v1.1.0/MINING_TENDERMINT.md (about) 1 # How to start 1 nodes with miner in Tendermint 2 3 1. Build and export to `PATH` 4 ```shell 5 $ go build ./cmd/gev 6 $ go build ./cmd/bootnode 7 $ go build ./cmd/puppeth 8 $ export PATH=$(pwd):$PATH 9 ``` 10 11 2. Create a working directory for 1 validator node 12 ```shell 13 $ mkdir validator-node 14 ``` 15 16 3. In working directory create a folder containing nodekey 17 ```shell 18 $ mkdir -p validator-node/geth 19 ``` 20 21 4. Generate node key and copy it into folder `validator-node/geth` 22 ```shell 23 $ bootnode --genkey=nodekey 24 $ cp nodekey validator-node/geth 25 ``` 26 27 5. Generate tendermint genesis.json from pupeth 28 ```shell 29 $ ./puppeth 30 ``` 31 32 Following steps to generate tendermint genesis.json. In step ask for first validator, enter address from nodekey, which is generated above 33 34 6. Init chaindata with tendermint genesis.json 35 ```shell 36 $ ./gev init genesis.json --datadir validator-node 37 ``` 38 39 7. Now we will start node and mine 40 ```shell 41 $ ./gev --datadir validator-node --rpc --rpcaddr "127.0.0.1" --rpcport "8545" --rpc --rpccorsdomain "*" console 42 $ miner.start() 43 ``` 44 A node will generate block and seal every 1 second (default config). To config for this blockperiod, when start node, you can config flag, for example: ```--tendermint.blockperiod 10``` (10 seconds)