RPC, API, gRPC

gRPC:

cardchain-testnet-grpc.itrocket.net:443

Peers, Seeds, Live Peers, Addrbook

peers:

99dcfbba34316285fceea8feb0b644c4dc67c53b@cardchain-testnet-peer.itrocket.net:31656

seeds:

947aa14a9e6722df948d46b9e3ff24dd72920257@cardchain-testnet-seed.itrocket.net:31656

live peers: (0 active)

PEERS="99dcfbba34316285fceea8feb0b644c4dc67c53b@cardchain-testnet-peer.itrocket.net:31656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.cardchaind/config/config.toml

peers scanner:

PEERS="[email protected]:38656,[email protected]:16656,99dcfbba34316285fceea8feb0b644c4dc67c53b@cardchain-testnet-rpc.itrocket.net:31656,[email protected]:31656,[email protected]:31656,[email protected]:26621,[email protected]:13156,[email protected]:13156,[email protected]:26656,[email protected]:21206,[email protected]:36656,[email protected]:12456,[email protected]:26656,[email protected]:39656,[email protected]:26656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.cardchaind/config/config.toml

addrbook: (upd 1h)

wget -O $HOME/.cardchaind/config/addrbook.json https://server-4.itrocket.net/testnet/cardchain/addrbook.json

genesis:

wget -O $HOME/.cardchaind/config/genesis.json https://server-4.itrocket.net/testnet/cardchain/genesis.json

Snapshot

pruned
updated every available 24/7 (every server stores last 2 snapshots)
height: Loading...0 blocks agosize: Bdb:
sudo systemctl stop Cardchaind
cp $HOME/.cardchaind/data/priv_validator_state.json $HOME/.cardchaind/priv_validator_state.json.backup
rm -rf $HOME/.cardchaind/data
curl https://server-4.itrocket.net/testnet/cardchain/null | lz4 -dc - | tar -xf - -C $HOME/.cardchaind
mv $HOME/.cardchaind/priv_validator_state.json.backup $HOME/.cardchaind/data/priv_validator_state.json
sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -f

State Sync

If you don't want to wait for a long synchronization you can use:

sudo systemctl stop Cardchaind

cp $HOME/.cardchaind/data/priv_validator_state.json $HOME/.cardchaind/priv_validator_state.json.backup
Cardchaind tendermint unsafe-reset-all --home $HOME/.cardchaind

peers="99dcfbba34316285fceea8feb0b644c4dc67c53b@cardchain-testnet-peer.itrocket.net:31656"  
SNAP_RPC="https://cardchain-testnet-rpc.itrocket.net:443"

sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.cardchaind/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/.cardchaind/config/config.toml

mv $HOME/.cardchaind/priv_validator_state.json.backup $HOME/.cardchaind/data/priv_validator_state.json

sudo systemctl restart Cardchaind && sudo journalctl -u Cardchaind -fo cat

Node Sync Status Checker

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

Copyright © 2025 ITRocket. All Rights Reserved.