# Remove previous installation of GO
rm -rf /usr/local/go # For GO installations locacated within /usr/local/go
rm -rf /usr/local/bin/go # For GO installations located within /usr/local/bin/go
# Download GO
wget https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
# Extract and place within /usr/local
tar -xzf go1.24.0.linux-amd64.tar.gz -C /usr/local && rm go1.24.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
Firewall Configuration
The system firewall must allow TCP and UDP connections from/to port 5050.
The genesis file will be used to prime your local state database and will allow you to join the network and synchronize with it. Please check the downloaded genesis file using the provided checksum.
Use the sonictool app (created during the building process as build/sonictool) to prime a validated archive state database for the Sonic client. Start the genesis expansion.
The last step of the genesis processing is the state validation. Please double-check that the output log contains the following messages with details about the verified state:
Mar 12 22:12:14 sonicd[45638]: INFO [03-12|22:12:14.055] New block index=13323260 id=563709..664f13 gas_used=910,015 gas_rate=2936366.148 base_fee=50000000000 txs=2/0 age=666.223ms t=4.721ms epoch=15237
Mar 12 22:12:14 sonicd[45638]: INFO [03-12|22:12:14.371] New block index=13323261 id=52e8c7..ddd174 gas_used=396,112 gas_rate=1249237.219 base_fee=50000000000 txs=1/0 age=665.575ms t=8.661ms epoch=15237
Mar 12 22:12:14 sonicd[45638]: INFO [03-12|22:12:14.673] New block index=13323262 id=20a5d7..5cc02f gas_used=251,646 gas_rate=811205.918 base_fee=50000000000 txs=1/0 age=657.086ms t=2.020ms epoch=15237
Mar 12 22:12:14 sonicd[45638]: INFO [03-12|22:12:14.998] New block index=13323263 id=48ac9c..ac0c96 gas_used=1,911,456 gas_rate=6212358.041 base_fee=50000000000 txs=3/0 age=674.246ms t=7.683ms epoch=15237
Check Sync Status
curl -H "Content-Type: application/json" \
-X POST --data '{"jsonrpc":"2.0", "method":"eth_syncing", "params":[], "id":1}' \
http://localhost:18545
# If node is done syncing - the response should resemble the below.
{"jsonrpc":"2.0","id":1,"result":false}
Check Block Number
curl -H "Content-Type: application/json" \
-X POST --data '{"jsonrpc":"2.0", "method":"eth_blockNumber", "params":[], "id":1}' \
http://localhost:18545
# Response should resemble the below.
{"jsonrpc":"2.0","id":1,"result":"0xcb4b6a"}