A collection of utilities for creating & benchmarking private Ethereum network
You need standard Geth installation to get started.
In Debian/Ubuntu, you can run the following command to install required toolset:
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
Ethereum-benchmark has been tested against Geth version 1.8.18 on Ubuntu 18.04.
Clone this repository by doing
git clone https://github.com/puilp0502/ethereum-benchmark
First, create the bootnode's key:
bootnode -genkey boot.key
Then, generate node keys:
./gennodekey.sh [number of nodes]
Create genesis config using puppeth:
puppeth
Puppeth will ask you a few questions. Answer them as you like.
Note that Ethereum-benchmark expects network id of 1515
. If you change this, you need to manually change node startup script(start_node*.sh
). It also expects genesis config to be located at genesis.json
.
Now, initialize your nodes:
./initnode.sh
If everying is completed without error, you should be able to start nodes now.
First, start bootnode:
./start_bootnode.sh
Then, in the other terminal(s), start nodes by doing:
./start_node[number].sh
The nodes should be up and mining that sweet sweet blocks.
cd benchmark
npm install
node index.js
Benchmark result will be stored in results/
directory.
This utility is licensed under MIT License - see LICENSE file for details.
This utility is originally based on the post written by Salanfe.