#!/bin/bash
# XDC Mainnet Sync Test Script
# Usage: ./test-xdc-mainnet.sh

set -e

DATADIR="/tmp/xdc-part4-mainnet"
PORT=30306
RPCPORT=18546

BOOTNODES="enode://e1a69a7d766576e694adc3fc78d801a8a66926cbe8f4fe95b85f3b481444700a5d1b6d440b2715b5bb7cf4824df6a6702740afc8c52b20c72bc8c16f1ccde1f3@149.102.140.32:30303,enode://874589626a2b4fd7c57202533315885815eba51dbc434db88bbbebcec9b22cf2a01eafad2fd61651306fe85321669a30b3f41112eca230137ded24b86e064ba8@5.189.144.192:30303,enode://ccdef92053c8b9622180d02a63edffb3e143e7627737ea812b930eacea6c51f0c93a5da3397f59408c3d3d1a9a381f7e0b07440eae47314685b649a03408cfdd@37.60.243.5:30303,enode://12711126475d7924af98d359e178f71c5d9607de32d2c5b4ab1afff4b0bb16b793b4bbda0a42bf41a309e5349b6106d053ae4ae92aa848b5879e3ef3687c6203@89.117.49.48:30303,enode://81edfecc3df6994679daf67858ae34c0ae91aac944a84b09171532b45ad0f5d0c896eb8c023df04eaa2db743f5fccdf18cf7e2d12120d37a2c142a3be0a348cd@38.102.87.174:30303,enode://053ba696174e7f115e38f0e3963d0035ac20dc18e9a5c5873f9e90fe338d777f726d68d053c987416ec0bd97d4d818c59a8a23bc9ea854069ea2310846e27e7d@162.250.189.221:30303,enode://b3ce1f8894af033cc2adbcb0836fe18d283af8574c451e385fd362165a6e5eded1b59b640c4d92048283bad9855721345a28ebaf28f66ace00a7134871d1e2a2@38.143.58.166:30303,enode://938f2e3f409a12573e6da6460b6497c45e2bec393756b989b8874f647911cca39d0ffef8554a45698a8f21a7e870288beb638b3770537a12118e30bd6f9ae806@109.199.104.176:30303,enode://47350ef305fb1406818a621a0f11144a72d560835a860607b331cef46ac82ea79c7df6bb5e5dba4147a489d9c77bc527f2500ce753fece817bc1a890eb05b886@185.252.233.29:30303,enode://2ac0472c39e3e0be89bc021689d4c015c455e9f2fe2101bee80b61bba6224c810d200a6d6d17038d5826d522edbcb73a6bc44e492cd5f06a5377aa6eee03335b@144.126.136.27:30303,enode://2c19c70a9c4134936926bbf1293e6fdc316401cc4f2cdb561dd5d2710f5b34ced22927173facabbeabe512f2e244994d65bc2f2d738db3bf805238f71fb9e490@205.172.57.65:30303,enode://86ca3a228abf44c06fbf53544aca980b2473e17dcf84879835c0e7a366474727cdb3cf50c7d306dd079d75ba658efe5b9b896e44a9863c7eb025377d291f1eb5@167.224.64.233:30303,enode://078efd1cbbd708c41bfc08f54f5610050804587bc8e30341501d34bbfdde68aa051de7a2c662b76dc47e822fe4f20ea85358abde11f7d52fbef74df54ad69469@162.250.189.152:30303,enode://5f32d5fc76a951f07d3866a794809d70658acd8c8e843607dcc13e8f835725cca52cd1cdab0581f218ac9f689d2c1ec71e4fb5ee1d766222471b7e9c7a4f1098@104.152.209.76:30303,enode://c8a53a7bd5f926f460816af8883e3c7d60753a8f8df04609e1e86f49a6def3c7029f732b2f045807895accf26da3145c8bcfd5a78691ecf39945e340812cf7e9@209.126.1.10:30303,enode://f8848e405142b8e88f054fe85ac5e4a75cfd7e353aee7e66797719828d3d5aa2cd62f1355140c0852d3dcb2439a076234c77415ca701318ea1f69a496a0b4b32@109.123.232.199:30303,enode://0857894c01314e75520fbdb7e37869666f230c8ab96c0e3067561077209e8f48a9cefb3a71c3c8094448629c152f22c2e5e66bb7ed2c38bfbd9f24941f571beb@103.7.54.103:30303,enode://91e59fa1b034ae35e9f4e8a99cc6621f09d74e76a6220abb6c93b29ed41a9e1fc4e5b70e2c5fc43f883cffbdcd6f4f6cbc1d23af077f28c2aecc22403355d4b1@81.0.220.137:30304,enode://91e59fa1b034ae35e9f4e8a99cc6621f09d74e76a6220abb6c93b29ed41a9e1fc4e5b70e2c5fc43f883cffbdcd6f4f6cbc1d23af077f28c2aecc22403355d4b1@5.189.144.192:30304,enode://91e59fa1b034ae35e9f4e8a99cc6621f09d74e76a6220abb6c93b29ed41a9e1fc4e5b70e2c5fc43f883cffbdcd6f4f6cbc1d23af077f28c2aecc22403355d4b1@154.53.42.5:30304"

echo "=== Building Part4 Geth ==="
cd /root/xdpos-part4
make geth

echo ""
echo "=== Initializing Genesis (if needed) ==="
if [ ! -d "$DATADIR/geth/chaindata" ]; then
    ./build/bin/geth init --datadir "$DATADIR" genesis/xdc_mainnet.json
    echo "Genesis initialized"
else
    echo "Genesis already initialized"
fi

echo ""
echo "=== Starting Node ==="
./build/bin/geth \
    --datadir "$DATADIR" \
    --networkid 50 \
    --syncmode full \
    --port $PORT \
    --http --http.port $RPCPORT --http.addr 0.0.0.0 \
    --http.api "admin,eth,net,web3,debug,txpool" \
    --http.corsdomain "*" \
    --ethstats "04.xdcrpc.com_OpenScan.AI:xinfin_xdpos_hybrid_network_stats@stats.xinfin.network:3000" \
    --bootnodes "$BOOTNODES" \
    --verbosity 4
