From 5363ada84dd6b800c036e25315705ae84148df28 Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 3 Sep 2023 22:04:25 +1000 Subject: [PATCH] fix cicd script (#318) * fix cicd script * add port as variable * add port as variable --- cicd/devnet/start.sh | 43 ++++++++++++++++++++++++++++++++++------- cicd/mainnet/start.sh | 41 +++++++++++++++++++++++++++++++++------ cicd/testnet/start.sh | 45 +++++++++++++++++++++++++++++++++++-------- 3 files changed, 108 insertions(+), 21 deletions(-) diff --git a/cicd/devnet/start.sh b/cicd/devnet/start.sh index 7c9d79adcfd4..bd13986d3262 100755 --- a/cicd/devnet/start.sh +++ b/cicd/devnet/start.sh @@ -38,14 +38,41 @@ do done < "$input" log_level=3 -if test -z "$LOG_LEVEL" +if test -z "$LOG_LEVEL" then - echo "Log level not set, default to verbosity of 3" + echo "Log level not set, default to verbosity of $log_level" else echo "Log level found, set to $LOG_LEVEL" log_level=$LOG_LEVEL fi +port=30303 +if test -z "$PORT" +then + echo "PORT not set, default to $port" +else + echo "PORT found, set to $PORT" + port=$PORT +fi + +rpc_port=8545 +if test -z "$RPC_PORT" +then + echo "RPC_PORT not set, default to $rpc_port" +else + echo "RPC_PORT found, set to $RPC_PORT" + rpc_port=$RPC_PORT +fi + +ws_port=8555 +if test -z "$WS_PORT" +then + echo "WS_PORT not set, default to $ws_port" +else + echo "WS_PORT found, set to $WS_PORT" + ws_port=$WS_PORT +fi + INSTANCE_IP=$(curl https://checkip.amazonaws.com) netstats="${NODE_NAME}-${wallet}-${INSTANCE_IP}:xinfin_xdpos_hybrid_network_stats@devnetstats.apothem.network:2000" @@ -53,16 +80,18 @@ netstats="${NODE_NAME}-${wallet}-${INSTANCE_IP}:xinfin_xdpos_hybrid_network_stat echo "Running a node with wallet: ${wallet} at IP: ${INSTANCE_IP}" echo "Starting nodes with $bootnodes ..." -# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. Only needed if you need the node to perform historical operations -XDC --ethstats ${netstats} --gcmode=full \ +# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. But sync mode require archive to sync +# https://github.com/XinFinOrg/XDPoSChain/issues/268 + +XDC --ethstats ${netstats} --gcmode archive \ --nat extip:${INSTANCE_IP} \ --bootnodes ${bootnodes} --syncmode full \ --datadir /work/xdcchain --networkid 551 \ --port 30303 --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ ---rpcport 8545 \ +-port $port --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ +--rpcport $rpc_port \ --rpcapi admin,db,eth,debug,net,shh,txpool,personal,web3,XDPoS \ --rpcvhosts "*" --unlock "${wallet}" --password /work/.pwd --mine \ --gasprice "1" --targetgaslimit "420000000" --verbosity ${log_level} \ --periodicprofile --debugdatadir /work/xdcchain \ ---ws --wsaddr=0.0.0.0 --wsport 8555 \ +--ws --wsaddr=0.0.0.0 --wsport $ws_port \ --wsorigins "*" 2>&1 >>/work/xdcchain/xdc.log | tee -a /work/xdcchain/xdc.log diff --git a/cicd/mainnet/start.sh b/cicd/mainnet/start.sh index 7b795ac1f38a..f6d2938a99cf 100755 --- a/cicd/mainnet/start.sh +++ b/cicd/mainnet/start.sh @@ -35,28 +35,57 @@ done < "$input" log_level=3 if test -z "$LOG_LEVEL" then - echo "Log level not set, default to verbosity of 3" + echo "Log level not set, default to verbosity of $log_level" else echo "Log level found, set to $LOG_LEVEL" log_level=$LOG_LEVEL fi +port=30303 +if test -z "$PORT" +then + echo "PORT not set, default to $port" +else + echo "PORT found, set to $PORT" + port=$PORT +fi + +rpc_port=8545 +if test -z "$RPC_PORT" +then + echo "RPC_PORT not set, default to $rpc_port" +else + echo "RPC_PORT found, set to $RPC_PORT" + rpc_port=$RPC_PORT +fi + +ws_port=8555 +if test -z "$WS_PORT" +then + echo "WS_PORT not set, default to $ws_port" +else + echo "WS_PORT found, set to $WS_PORT" + ws_port=$WS_PORT +fi + INSTANCE_IP=$(curl https://checkip.amazonaws.com) netstats="${NODE_NAME}-${wallet}-${INSTANCE_IP}:xinfin_xdpos_hybrid_network_stats@stats.xinfin.network:3000" echo "Running a node with wallet: ${wallet} at IP: ${INSTANCE_IP}" echo "Starting nodes with $bootnodes ..." -# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. Only needed if you need the node to perform historical operations -XDC --ethstats ${netstats} --gcmode=full \ +# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. But sync mode require archive to sync +# https://github.com/XinFinOrg/XDPoSChain/issues/268 + +XDC --ethstats ${netstats} --gcmode archive \ --nat extip:${INSTANCE_IP} \ --bootnodes ${bootnodes} --syncmode full \ --datadir /work/xdcchain --networkid 50 \ --port 30303 --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ ---rpcport 8545 \ +-port $port --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ +--rpcport $rpc_port \ --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,XDPoS \ --rpcvhosts "*" --unlock "${wallet}" --password /work/.pwd --mine \ --gasprice "1" --targetgaslimit "420000000" --verbosity ${log_level} \ --periodicprofile --debugdatadir /work/xdcchain \ ---ws --wsaddr=0.0.0.0 --wsport 8555 \ +--ws --wsaddr=0.0.0.0 --wsport $ws_port \ --wsorigins "*" 2>&1 >>/work/xdcchain/xdc.log | tee -a /work/xdcchain/xdc.log diff --git a/cicd/testnet/start.sh b/cicd/testnet/start.sh index fde9df3a9d48..392b55cfb0a9 100755 --- a/cicd/testnet/start.sh +++ b/cicd/testnet/start.sh @@ -3,7 +3,7 @@ if [ ! -d /work/xdcchain/XDC/chaindata ] then # Randomly select a key from environment variable, seperated by ',' - if test -z "$PRIVATE_KEYS" + if test -z "$PRIVATE_KEYS" then echo "PRIVATE_KEYS environment variable has not been set. You need to pass at least one PK, or you can pass multiple PK seperated by ',', we will randomly choose one for you" exit 1 @@ -33,14 +33,41 @@ do done < "$input" log_level=3 -if test -z "$LOG_LEVEL" +if test -z "$LOG_LEVEL" then - echo "Log level not set, default to verbosity of 3" + echo "Log level not set, default to verbosity of $log_level" else echo "Log level found, set to $LOG_LEVEL" log_level=$LOG_LEVEL fi +port=30303 +if test -z "$PORT" +then + echo "PORT not set, default to $port" +else + echo "PORT found, set to $PORT" + port=$PORT +fi + +rpc_port=8545 +if test -z "$RPC_PORT" +then + echo "RPC_PORT not set, default to $rpc_port" +else + echo "RPC_PORT found, set to $RPC_PORT" + rpc_port=$RPC_PORT +fi + +ws_port=8555 +if test -z "$WS_PORT" +then + echo "WS_PORT not set, default to $ws_port" +else + echo "WS_PORT found, set to $WS_PORT" + ws_port=$WS_PORT +fi + INSTANCE_IP=$(curl https://checkip.amazonaws.com) netstats="${NODE_NAME}-${wallet}-${INSTANCE_IP}:xdc_xinfin_apothem_network_stats@stats.apothem.network:2000" @@ -48,16 +75,18 @@ netstats="${NODE_NAME}-${wallet}-${INSTANCE_IP}:xdc_xinfin_apothem_network_stats echo "Running a node with wallet: ${wallet} at IP: ${INSTANCE_IP}" echo "Starting nodes with $bootnodes ..." -# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. Only needed if you need the node to perform historical operations -XDC --ethstats ${netstats} --gcmode=full \ +# Note: --gcmode=archive means node will store all historical data. This will lead to high memory usage. But sync mode require archive to sync +# https://github.com/XinFinOrg/XDPoSChain/issues/268 + +XDC --ethstats ${netstats} --gcmode archive \ --nat extip:${INSTANCE_IP} \ --bootnodes ${bootnodes} --syncmode full \ --datadir /work/xdcchain --networkid 51 \ --port 30303 --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ ---rpcport 8545 \ +-port $port --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0 \ +--rpcport $rpc_port \ --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,XDPoS \ --rpcvhosts "*" --unlock "${wallet}" --password /work/.pwd --mine \ --gasprice "1" --targetgaslimit "420000000" --verbosity ${log_level} \ --periodicprofile --debugdatadir /work/xdcchain \ ---ws --wsaddr=0.0.0.0 --wsport 8555 \ +--ws --wsaddr=0.0.0.0 --wsport $ws_port \ --wsorigins "*" 2>&1 >>/work/xdcchain/xdc.log | tee -a /work/xdcchain/xdc.log