Skip to content

Instantly share code, notes, and snippets.

@kdelwat
Created August 29, 2018 23:14
Show Gist options
  • Save kdelwat/fd4ba9b78013805b03a5ca395b6b9e71 to your computer and use it in GitHub Desktop.
Save kdelwat/fd4ba9b78013805b03a5ca395b6b9e71 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Based on https://medium.com/@chim/ethereum-how-to-setup-a-local-test-node-with-initial-ether-balance-using-geth-974511ce712
# Initialise a local geth testnet with automine
CHAIN_DIRECTORY=~/.testnet;
STARTING_BALANCE="0x5337000000000000000000"
if [ -d "$CHAIN_DIRECTORY" ]; then
rm -r ${CHAIN_DIRECTORY}
fi
mkdir -p ${CHAIN_DIRECTORY}/data
mkdir -p ${CHAIN_DIRECTORY}/config
mkdir -p ${CHAIN_DIRECTORY}/logs
touch ${CHAIN_DIRECTORY}/logs/00.log
cat > ${CHAIN_DIRECTORY}/config/genesis.json <<EOL
{
"config": {
"chainId": 99,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x8000000",
"difficulty": "0x400",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {
"0x2e18Dba2a20913Be8901F7b054879eAbE8968009": {
"balance": "${STARTING_BALANCE}"
},
"0x14f05dAcA8A6459C41C13075B256BBa839f380e5": {
"balance": "${STARTING_BALANCE}"
},
"0xD2D6a3ebb71855a2b9e5e7e91e45576c3254d349": {
"balance": "${STARTING_BALANCE}"
},
"0x68DaEBa874308c6a74f3E39Be1Da73f289054074": {
"balance": "${STARTING_BALANCE}"
},
"0x81379704e1662c05a8E7ACC2Cec25C12e5989eA5": {
"balance": "${STARTING_BALANCE}"
}
}
}
EOL
geth \
--identity "LocalTestnet" \
--rpc \
--rpcport 8545 \
--rpccorsdomain "*" \
--datadir ${CHAIN_DIRECTORY}/data/ \
--port 30303 \
--nodiscover \
--rpcapi db,eth,net,web3,personal \
--networkid 99 \
--maxpeers 0 \
--verbosity 6 \
init ${CHAIN_DIRECTORY}/config/genesis.json 2>> ${CHAIN_DIRECTORY}/logs/00.log
cp -r "$(pwd)/keystore" ${CHAIN_DIRECTORY}/data
geth \
--port 38545 \
--mine\
--minerthreads=1 \
--rpc \
--rpcport 8545 \
--rpccorsdomain "*" \
--datadir ${CHAIN_DIRECTORY}/data/ \
--port 30303 \
--nodiscover \
--rpcapi web3,eth,net,debug,personal \
--networkid 99
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment