66 lines
3.4 KiB
Bash
66 lines
3.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Variables (Set these according to your configuration)
|
|
CHAIN_ID=120202
|
|
NETWORK_ID=120202
|
|
PASSWORD=12345
|
|
|
|
# Read the bootnode URL from the file
|
|
BOOTNODE_URL=$(cat enodeurl)
|
|
|
|
# Start bootnode and capture enode URL, logging output to bootnode.log
|
|
bootnode -nodekey boot.key -verbosity 7 -addr "127.0.0.1:30301" > bootnode.log 2>&1 &
|
|
|
|
# Wait for bootnode to start and log the enode URL
|
|
sleep 5
|
|
|
|
# Append discport if missing
|
|
if [[ $BOOTNODE_URL != *"discport"* ]]; then
|
|
BOOTNODE_URL="${BOOTNODE_URL}?discport=30301"
|
|
fi
|
|
|
|
# Start Node 1 and redirect log to node1.log
|
|
geth --datadir "./node1/data" --port 30304 --bootnodes "$BOOTNODE_URL" --authrpc.port 8547 --ipcdisable --allow-insecure-unlock --http --http.corsdomain="https://remix.ethereum.org" --http.api web3,eth,debug,personal,net --networkid $NETWORK_ID --unlock 0x$(cat node1/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt --mine --miner.etherbase=0x$(cat node1/data/keystore/* | grep -oP '(?<=address":").+?(?=")') > node1.log 2>&1 &
|
|
|
|
# Start Node 2 and redirect log to node2.log
|
|
geth --datadir "./node2/data" --port 30306 --bootnodes "$BOOTNODE_URL" --authrpc.port 8546 --networkid $NETWORK_ID --unlock 0x$(cat node2/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt > node2.log 2>&1 &
|
|
|
|
# Start Node 3 and redirect log to node3.log
|
|
geth --datadir "./node3/data" --port 30308 --bootnodes "$BOOTNODE_URL" --authrpc.port 8548 --networkid $NETWORK_ID --unlock 0x$(cat node3/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt > node3.log 2>&1 &
|
|
|
|
echo "All nodes and bootnode have been started."
|
|
|
|
# #!/bin/bash
|
|
|
|
# # Variables (Set these according to your configuration)
|
|
# CHAIN_ID=120202
|
|
# NETWORK_ID=120202
|
|
# PASSWORD=12345
|
|
|
|
# # Read the bootnode URL from the file
|
|
# BOOTNODE_URL=$(cat enodeurl)
|
|
|
|
# # Start bootnode and capture enode URL, logging output to bootnode.log
|
|
# bootnode -nodekey boot.key -verbosity 7 -addr "127.0.0.1:30301" > bootnode.log 2>&1 &
|
|
|
|
# # Wait for bootnode to start and log the enode URL
|
|
# sleep 5
|
|
|
|
# # Append discport if missing
|
|
# if [[ $BOOTNODE_URL != *"discport"* ]]; then
|
|
# BOOTNODE_URL="${BOOTNODE_URL}?discport=30301"
|
|
# fi
|
|
|
|
# # Start Node 1 and redirect log to node1.log
|
|
# # geth --datadir "./node1/data" --port 30304 --bootnodes "$BOOTNODE_URL" --authrpc.port 8547 --ipcdisable --allow-insecure-unlock --http --http.corsdomain="https://remix.ethereum.org" --http.api web3,eth,debug,personal,net --networkid $NETWORK_ID --unlock 0x$(cat node1/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt --mine --miner.etherbase=0x$(cat node1/data/keystore/* | grep -oP '(?<=address":").+?(?=")') > node1.log 2>&1 &
|
|
|
|
# # Start Node 2 and redirect log to node2.log
|
|
# geth --datadir "./node2/data" --port 30306 --bootnodes "$BOOTNODE_URL" --authrpc.port 8546 --http --http.addr "127.0.0.1" --http.port 8545 --http.api "eth,net,web3,personal" --networkid $NETWORK_ID --unlock 0x$(cat node2/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt --allow-insecure-unlock > node2.log 2>&1 &
|
|
|
|
# # Start Node 3 and redirect log to node3.log
|
|
# geth --datadir "./node3/data" --port 30308 --bootnodes "$BOOTNODE_URL" --authrpc.port 8548 --networkid $NETWORK_ID --unlock 0x$(cat node3/data/keystore/* | grep -oP '(?<=address":").+?(?=")') --password password.txt > node3.log 2>&1 &
|
|
|
|
# echo "All nodes and bootnode have been started."
|
|
|
|
|