62 lines
2.8 KiB
Bash
62 lines
2.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
CHAINID=1337
|
||
|
MONIKER="localtestnet"
|
||
|
|
||
|
VAL_KEY="localkey"
|
||
|
VAL_MNEMONIC="gesture inject test cycle original hollow east ridge hen combine junk child bacon zero hope comfort vacuum milk pitch cage oppose unhappy lunar seat"
|
||
|
|
||
|
USER1_KEY="user1"
|
||
|
USER1_MNEMONIC="copper push brief egg scan entry inform record adjust fossil boss egg comic alien upon aspect dry avoid interest fury window hint race symptom"
|
||
|
|
||
|
USER2_KEY="user2"
|
||
|
USER2_MNEMONIC="maximum display century economy unlock van census kite error heart snow filter midnight usage egg venture cash kick motor survey drastic edge muffin visual"
|
||
|
|
||
|
# remove existing daemon and client
|
||
|
rm -rf ~/.ethermint*
|
||
|
|
||
|
ethermintcli config keyring-backend test
|
||
|
|
||
|
# Set up config for CLI
|
||
|
ethermintcli config chain-id $CHAINID
|
||
|
ethermintcli config output json
|
||
|
ethermintcli config indent true
|
||
|
ethermintcli config trust-node true
|
||
|
|
||
|
# Import keys from mnemonics
|
||
|
echo $VAL_MNEMONIC | ethermintcli keys add $VAL_KEY --recover
|
||
|
echo $USER1_MNEMONIC | ethermintcli keys add $USER1_KEY --recover
|
||
|
echo $USER2_MNEMONIC | ethermintcli keys add $USER2_KEY --recover
|
||
|
|
||
|
# Set moniker and chain-id for Ethermint (Moniker can be anything, chain-id must be an integer)
|
||
|
ethermintd init $MONIKER --chain-id $CHAINID
|
||
|
|
||
|
# Allocate genesis accounts (cosmos formatted addresses)
|
||
|
ethermintd add-genesis-account $(ethermintcli keys show $VAL_KEY -a) 1000000000000000000000aphoton,10000000000000000stake
|
||
|
ethermintd add-genesis-account $(ethermintcli keys show $USER1_KEY -a) 1000000000000000000000aphoton,10000000000000000stake
|
||
|
ethermintd add-genesis-account $(ethermintcli keys show $USER2_KEY -a) 1000000000000000000000aphoton,10000000000000000stake
|
||
|
|
||
|
# Sign genesis transaction
|
||
|
ethermintd gentx --name $VAL_KEY --keyring-backend test
|
||
|
|
||
|
# Collect genesis tx
|
||
|
ethermintd collect-gentxs
|
||
|
|
||
|
# Enable faucet
|
||
|
cat $HOME/.ethermintd/config/genesis.json | jq '.app_state["faucet"]["enable_faucet"]=true' > $HOME/.ethermintd/config/tmp_genesis.json && mv $HOME/.ethermintd/config/tmp_genesis.json $HOME/.ethermintd/config/genesis.json
|
||
|
|
||
|
echo -e '\n\ntestnet faucet enabled'
|
||
|
echo -e 'to transfer tokens to your account address use:'
|
||
|
echo -e "ethermintcli tx faucet request 100aphoton --from $VAL_KEY\n"
|
||
|
|
||
|
|
||
|
# Run this to ensure everything worked and that the genesis file is setup correctly
|
||
|
ethermintd validate-genesis
|
||
|
|
||
|
# Command to run the rest server in a different terminal/window
|
||
|
echo -e '\nrun the following command in a different terminal/window to run the REST server and JSON-RPC:'
|
||
|
echo -e "ethermintcli rest-server --laddr \"tcp://localhost:8545\" --wsport 8546 --unlock-key $VAL_KEY,$USER1_KEY,$USER2_KEY --chain-id $CHAINID --trace\n"
|
||
|
|
||
|
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
|
||
|
ethermintd start --pruning=nothing --rpc.unsafe --log_level "main:info,state:info,mempool:info" --trace
|