RPC, API, gRPC
gRPC:
source-mainnet-grpc.itrocket.net:443
Peers, Seeds, Live Peers, Addrbook
peers:
8a812024b8a5b4539878b03ac2f822655831ca5f@source-mainnet-peer.itrocket.net:32656
seeds:
7347b05f140e4ed5d3da7b26c754a486dc1d2ecd@source-mainnet-seed.itrocket.net:32656
live peers: (0 active)
PEERS="8a812024b8a5b4539878b03ac2f822655831ca5f@source-mainnet-peer.itrocket.net:32656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.source/config/config.toml
peers scanner:
PEERS="[email protected]:28656,[email protected]:26656,[email protected]:26656,[email protected]:20024,[email protected]:26656,[email protected]:40656,[email protected]:20024,[email protected]:20024,[email protected]:15856,8a812024b8a5b4539878b03ac2f822655831ca5f@source-mainnet-rpc.itrocket.net:32656,afc8fa287e2b6b46bbeba57dfcb4bd6dcab6b6a3@source-rpc.stake-town.com:28656,[email protected]:26656,[email protected]:12656,[email protected]:26656,637077d431f618181597706810a65c826524fd74@source.rpc.nodeshub.online:15856,73ddeea2640f112ef19ea96f538ba26d247a79f8@rpc.source.nodestake.top:26656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.source/config/config.toml
addrbook: (upd 1h)
wget -O $HOME/.source/config/addrbook.json https://server-2.itrocket.net/mainnet/source/addrbook.json
genesis:
wget -O $HOME/.source/config/genesis.json https://server-2.itrocket.net/mainnet/source/genesis.json
Snapshot
prunedupdated every available 24/7 (every server stores last 2 snapshots)
height: Loading...0 blocks agosize: Bdb:
sudo systemctl stop sourced
cp $HOME/.source/data/priv_validator_state.json $HOME/.source/priv_validator_state.json.backup
rm -rf $HOME/.source/data
curl https://server-2.itrocket.net/mainnet/source/null | lz4 -dc - | tar -xf - -C $HOME/.source
mv $HOME/.source/priv_validator_state.json.backup $HOME/.source/data/priv_validator_state.json
sudo systemctl restart sourced && sudo journalctl -u sourced -f
State Sync
If you don't want to wait for a long synchronization you can use:
sudo systemctl stop sourced
cp $HOME/.source/data/priv_validator_state.json $HOME/.source/priv_validator_state.json.backup
sourced tendermint unsafe-reset-all --home $HOME/.source
peers="8a812024b8a5b4539878b03ac2f822655831ca5f@source-mainnet-peer.itrocket.net:32656"
SNAP_RPC="https://source-mainnet-rpc.itrocket.net:443"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.source/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height);
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000));
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH && sleep 2
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ;
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ;
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ;
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ;
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.source/config/config.toml
mv $HOME/.source/priv_validator_state.json.backup $HOME/.source/data/priv_validator_state.json
sudo systemctl restart sourced && sudo journalctl -u sourced -fo cat
Node Sync Status Checker
#!/bin/bash
rpc_port=$(grep -m 1 -oP '^laddr = "\K[^"]+' "$HOME/.source/config/config.toml" | cut -d ':' -f 3)
while true; do
local_height=$(curl -s localhost:$rpc_port/status | jq -r '.result.sync_info.latest_block_height')
network_height=$(curl -s https://Source-mainnet-rpc.itrocket.net/status | jq -r '.result.sync_info.latest_block_height')
if ! [[ "$local_height" =~ ^[0-9]+$ ]] || ! [[ "$network_height" =~ ^[0-9]+$ ]]; then
echo -e "\033[1;31mError: Invalid block height data. Retrying...\033[0m"
sleep 5
continue
fi
blocks_left=$((network_height - local_height))
if [ "$blocks_left" -lt 0 ]; then
blocks_left=0
fi
echo -e "\033[1;33mNode Height:\033[1;34m $local_height\033[0m \033[1;33m| Network Height:\033[1;36m $network_height\033[0m \033[1;33m| Blocks Left:\033[1;31m $blocks_left\033[0m"
sleep 5
done
Wasm
Sorry, this project does not support WebAssembly.