RPC, API, gRPC
archiveCosmos:
Custom REST API (20 req/s max): https://api-story-mainnet.itrocket.net
Ethereum Virtual Machine (EVM):
archiveWebsocket: wss://story-mainnet-wss.itrocket.net:443
Peers, Seeds, Live Peers, Addrbook
peers:
ef8d211e08ca33193c2dff535ec5a29902e2b3f4@story-mainnet-peer.itrocket.net:45656
seeds:
8db87ee67cdf4c098d023e8f96d6156f098f0ae1@story-mainnet-seed.itrocket.net:45656
live peers: (0 active)
PEERS="ef8d211e08ca33193c2dff535ec5a29902e2b3f4@story-mainnet-peer.itrocket.net:45656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.story/story/config/config.toml
peers scanner:
PEERS="[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,ef8d211e08ca33193c2dff535ec5a29902e2b3f4@story-mainnet-rpc.itrocket.net:45656,[email protected]:32425,5da018ac0e41b69d1c195f040b474e81f09a249b@story-mainnet-cosmos-rpc.crouton.digital:26656,[email protected]:45656,[email protected]:26656,[email protected]:22425,[email protected]:26646,[email protected]:26656,[email protected]:26656,[email protected]:29656,[email protected]:45656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.story/story/config/config.toml
addrbook: (upd 1h)
wget -O $HOME/.story/story/config/addrbook.json https://server-2.itrocket.net/mainnet/story/addrbook.json
genesis:
wget -O $HOME/.story/story/config/genesis.json https://server-2.itrocket.net/mainnet/story/genesis.json
enode:
geth --exec 'admin.addPeer("enode://951ef8957e5efba2cdbb433d7296892a17df60479dae6fedda7430026538ad9e5497551f52da1bd566a09759f03e69f86c993580ffbe60242900302feb112b01@story-mainnet-enode.itrocket.net:30303")' attach ~/.story/geth/story/geth.ipc
sudo systemctl restart story-geth && sudo journalctl -u story-geth -f
Snapshot
pruned## Snapshot is not available yet
State Sync
If you don't want to wait for a long synchronization you can use:
cd $HOME
sudo systemctl stop story story-geth
cp $HOME/.story/story/data/priv_validator_state.json $HOME/.story/story/priv_validator_state.json.backup
rm -rf $HOME/.story/story/data
mkdir $HOME/.story/story/data
mv $HOME/.story/story/priv_validator_state.json.backup $HOME/.story/story/data/priv_validator_state.json
peers="ef8d211e08ca33193c2dff535ec5a29902e2b3f4@story-mainnet-peer.itrocket.net:45656"
SNAP_RPC="https://story-mainnet-rpc.itrocket.net:443"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.story/story/config/config.toml
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height);
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000));
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/.story/story/config/config.toml
sudo systemctl restart story story-geth && sudo journalctl -u story -f
Node Sync Status Checker
#!/bin/bash
rpc_port=$(grep -m 1 -oP '^laddr = "\K[^"]+' "$HOME/.story/story/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://story-mainnet-rpc.itrocket.net/status | jq -r '.result.sync_info.latest_block_height')
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