laconicd/scripts/start-geth.sh
2022-10-10 16:08:33 +05:30

59 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
set -e
CONFIG=$1
if [ -z $CONFIG ]; then
echo "No config file supplied"
exit 1
fi
shift
DATA=$1
if [ -z $DATA ]; then
echo "No data directory supplied"
exit 1
fi
shift
geth --datadir $DATA init $CONFIG
pwdfile=$(mktemp /tmp/password.XXXXXX)
tmpfile=$(mktemp /tmp/validator-key.XXXXXX)
cat > $pwdfile << EOF
$PASSWORD
EOF
# import validator key
validator_key=$(python -c """
from eth_account import Account
Account.enable_unaudited_hdwallet_features()
print(Account.from_mnemonic('$VALIDATOR1_MNEMONIC').key.hex().replace('0x',''))
""")
cat > $tmpfile << EOF
$validator_key
EOF
geth --datadir $DATA account import $tmpfile --password $pwdfile
# import community key
community_key=$(python -c """
from eth_account import Account
Account.enable_unaudited_hdwallet_features()
print(Account.from_mnemonic('$COMMUNITY_MNEMONIC').key.hex().replace('0x',''))
""")
cat > $tmpfile << EOF
$community_key
EOF
geth --datadir $DATA account import $tmpfile --password $pwdfile
rm $tmpfile
# start up
geth --networkid 9000 --datadir $DATA --http --http.addr localhost --http.api 'personal,eth,net,web3,txpool,miner' \
-unlock '0x57f96e6b86cdefdb3d412547816a82e3e0ebf9d2' --password $pwdfile \
--mine --allow-insecure-unlock \
$@
rm $pwdfile