Testnet Networks
API & Sync

RPC, API, gRPC

RPC : https://zenrock-testnet-rpc.stonegaze.net (opens in a new tab)

API : https://zenrock-testnet-api.stonegaze.net (opens in a new tab)

gRPC:
zenrock-testnet-grpc.stonegaze.net:443

Peers, Seeds, Live Peers, Addrbook

peers:

dd2ba8bdb8b42e4127eb442bea27f5192aaba18c@zenrock-testnet-peer.itrocket.net:11656

seeds:

0e0fa76bf61bebb79c9db6890b5c8da78a0f62d3@zenrock-testnet-seed.itrocket.net:56656

live peers: (11 active)

PPEERS="dd2ba8bdb8b42e4127eb442bea27f5192aaba18c@zenrock-testnet-peer.itrocket.net:11656,d6aaa26a8b117aa31058fba66a326bb0d0e3f6f3@65.109.22.211:26656,9794aa7d5227e05cf997f85bb537ee15f9db425f@54.74.239.68:26656,d9927ea0ea2e4bb46d2192f1c94aeb0770ae8f91@52.30.152.47:26656,8f1b7232e8530f7f964ba048270f77e1e90636de@52.30.152.47:26656,eb069100dcef3c8b8789e9672cf29808e32c9a60@51.77.108.156:26656,d76afe7cbe8e6e39f96d67bdf60c7e767893b15e@52.30.152.47:26656,0181c6617927e96d62195da3208809b647676e6a@94.130.164.82:40956"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.zrchain/config/config.toml

peers scanner:

Stale peers can lead to node inefficiency over time. Below are 4 active peers found by our network scanner. These are verified for decent uptime in real time.

PEERS="d6aaa26a8b117aa31058fba66a326bb0d0e3f6f3@65.109.22.211:26656,dd2ba8bdb8b42e4127eb442bea27f5192aaba18c@zenrock-testnet-rpc.itrocket.net:11656,dd2ba8bdb8b42e4127eb442bea27f5192aaba18c@8.52.196.180:11656,24cf2d3bd77e9d0eb3b6a5f81ae0048d5739af8c@zenrock-t-rpc.noders.services:40956"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.zrchain/config/config.toml

addrbook: (upd 1h)

wget -O $HOME/.zrchain/config/addrbook.json https://server-5.itrocket.net/testnet/zenrock/addrbook.json

Snapshot

updated every 4h | available 24/7 (every server stores last 2 snapshots) height: 445223 | 43m ago | 492 blocks ago | size: 56MB | db: goleveldb
sudo systemctl stop zenrockd
cp $HOME/.zrchain/data/priv_validator_state.json $HOME/.zrchain/priv_validator_state.json.backup
rm -rf $HOME/.zrchain/data $HOME/.zrchain/wasm
curl https://server-5.itrocket.net/testnet/zenrock/zenrock_2025-06-16_445223_snap.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.zrchain
mv $HOME/.zrchain/priv_validator_state.json.backup $HOME/.zrchain/data/priv_validator_state.json
sudo systemctl restart zenrockd && sudo journalctl -u zenrockd -f

State Sync

If you don't want to wait for a long synchronization you can use:
sudo systemctl stop zenrockd
 
cp $HOME/.zrchain/data/priv_validator_state.json $HOME/.zrchain/priv_validator_state.json.backup
zenrockd tendermint unsafe-reset-all --home $HOME/.zrchain
 
peers="dd2ba8bdb8b42e4127eb442bea27f5192aaba18c@zenrock-testnet-peer.itrocket.net:11656,d6aaa26a8b117aa31058fba66a326bb0d0e3f6f3@65.109.22.211:26656,9794aa7d5227e05cf997f85bb537ee15f9db425f@54.74.239.68:26656,d9927ea0ea2e4bb46d2192f1c94aeb0770ae8f91@52.30.152.47:26656,8f1b7232e8530f7f964ba048270f77e1e90636de@52.30.152.47:26656,eb069100dcef3c8b8789e9672cf29808e32c9a60@51.77.108.156:26656,d76afe7cbe8e6e39f96d67bdf60c7e767893b15e@52.30.152.47:26656,0181c6617927e96d62195da3208809b647676e6a@94.130.164.82:40956"  
SNAP_RPC="https://zenrock-testnet-rpc.itrocket.net:443"
 
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.zrchain/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/.zrchain/config/config.toml
 
mv $HOME/.zrchain/priv_validator_state.json.backup $HOME/.zrchain/data/priv_validator_state.json
 
sudo systemctl restart zenrockd && sudo journalctl -u zenrockd -fo cat

Node Sync Status Checker

#!/bin/bash
rpc_port=$(grep -m 1 -oP '^laddr = "\K[^"]+' "$HOME/.zrchain/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://zenrock-testnet-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))
  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