<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>vbloher</title><author><name>vbloher</name></author><id>https://teletype.in/atom/vbloher</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/vbloher?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@vbloher?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=vbloher"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/vbloher?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-30T16:09:22.224Z</updated><entry><id>vbloher:state-sync-rpc</id><link rel="alternate" type="text/html" href="https://teletype.in/@vbloher/state-sync-rpc?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=vbloher"></link><title>How to set up a Tendermint node for work as a State-Sync RPC server</title><published>2022-03-16T10:45:07.902Z</published><updated>2022-03-16T11:07:43.051Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/5f/dc/5fdc3a49-091a-4c7c-9f85-a1bd77958ba9.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://miro.medium.com/max/1400/1*D9eXKEqh53EQLTLgbeS8_A.png&quot;&gt;State-Sync snapshots allow other nodes to rapidly join the network without replaying historical blocks, instead downloading and applying a snapshot of the application state at a given height.</summary><content type="html">
  &lt;figure id=&quot;u1rV&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/1*D9eXKEqh53EQLTLgbeS8_A.png&quot; width=&quot;1400&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;iQyG&quot;&gt;State-Sync snapshots allow other nodes to rapidly join the network without replaying historical blocks, instead downloading and applying a snapshot of the application state at a given height.&lt;/p&gt;
  &lt;p id=&quot;p95x&quot;&gt;Step by step gude how to configure Cosmic-Horizon node for work as State-Sync RPC server&lt;/p&gt;
  &lt;pre id=&quot;DGsX&quot; data-lang=&quot;bash&quot;&gt;# set variables
CHAIN_HOME=$HOME/.coho
CHAIN_SERVICE=cohod

# make your node discoverable from public network
laddr=&amp;quot;tcp://0.0.0.0:26657&amp;quot;
sed -i.bak -e &amp;quot;s/^laddr *=.*/laddr = \&amp;quot;$laddr\&amp;quot;/&amp;quot; $CHAIN_HOME/config/config.toml

# configure pruning to custom value
# pruning = custom
# pruning-keep-recent = 100
# pruning-keep-every = 1000
# pruning-interval = 10
sed -i &amp;#x27;s/pruning = &amp;quot;default&amp;quot;/pruning = &amp;quot;custom&amp;quot;/g&amp;#x27; $CHAIN_HOME/config/app.toml
sed -i &amp;#x27;s/pruning-keep-recent = &amp;quot;0&amp;quot;/pruning-keep-recent = &amp;quot;100&amp;quot;/g&amp;#x27; $CHAIN_HOME/config/app.toml
sed -i &amp;#x27;s/pruning-keep-every = &amp;quot;0&amp;quot;/pruning-keep-every = &amp;quot;1000&amp;quot;/g&amp;#x27; $CHAIN_HOME/config/app.toml
sed -i &amp;#x27;s/pruning-interval = &amp;quot;0&amp;quot;/pruning-interval = &amp;quot;10&amp;quot;/g&amp;#x27; $CHAIN_HOME/config/app.toml

# set snapshot-interval
sed -i &amp;#x27;s/snapshot-interval = 0/snapshot-interval = 2000/g&amp;#x27; $CHAIN_HOME/config/app.toml

# restart node service
sudo systemctl restart $CHAIN_SERVICE

# check logs
sudo journalctl -u $CHAIN_SERVICE -f&lt;/pre&gt;

</content></entry><entry><id>vbloher:state-sync-bootstrap</id><link rel="alternate" type="text/html" href="https://teletype.in/@vbloher/state-sync-bootstrap?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=vbloher"></link><title>How to bootstrap any tendermint (cosmos) node using State-Sync</title><published>2022-03-16T10:20:45.121Z</published><updated>2022-03-18T07:24:24.693Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/5f/dc/5fdc3a49-091a-4c7c-9f85-a1bd77958ba9.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://miro.medium.com/max/1400/1*D9eXKEqh53EQLTLgbeS8_A.png&quot;&gt;State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in the network to take and serve state machine snapshots.</summary><content type="html">
  &lt;figure id=&quot;NE00&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://miro.medium.com/max/1400/1*D9eXKEqh53EQLTLgbeS8_A.png&quot; width=&quot;1400&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;uddI&quot;&gt;State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in the network to take and serve state machine snapshots.&lt;/p&gt;
  &lt;p id=&quot;LCsD&quot;&gt;Step by step gude how to bootstrap Cosmic-Horizon darkmatter-1 testnet chain &lt;/p&gt;
  &lt;pre id=&quot;c7uo&quot; data-lang=&quot;bash&quot;&gt;# set variables
CHAIN_HOME=$HOME/.coho
CHAIN_SERVICE=cohod
CHAIN_BINARY=cohod

# set rpc endpoints and peers
SNAPSHOT_RPC1=&amp;quot;http://62.171.147.117:26657&amp;quot;
SNAPSHOT_RPC2=&amp;quot;http://62.171.152.201:26657&amp;quot;
PEER1=&amp;quot;c3e5f8aecac83085fcde58b2f065e53516046d96@62.171.147.117:26656&amp;quot;
PEER2=&amp;quot;6a1dfc3489df0f69c6cea0ddfc6c5975bc71f236@62.171.152.201:26656&amp;quot;

# stop the chain service and perform reset
sudo systemctl stop $CHAIN_SERVICE &amp;amp;&amp;amp; $CHAIN_BINARY unsafe-reset-all

# set state sync config variables
LATEST_HEIGHT=$(curl -s $SNAPSHOT_RPC1/block | jq -r .result.block.header.height)
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
TRUST_HASH=$(curl -s &amp;quot;$SNAPSHOT_RPC1/block?height=$BLOCK_HEIGHT&amp;quot; | jq -r .result.block_id.hash)

# check
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

# set peers
peers=&amp;quot;$PEER1,$PEER2&amp;quot;
sed -i.bak -e &amp;quot;s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$peers\&amp;quot;/&amp;quot; $CHAIN_HOME/config/config.toml

# write config to config.toml (onde command)
sed -i.bak -E &amp;quot;s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;$SNAPSHOT_RPC1,$SNAPSHOT_RPC2\&amp;quot;| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;$TRUST_HASH\&amp;quot;| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;\&amp;quot;|&amp;quot; $CHAIN_HOME/config/config.toml

# start the service
sudo systemctl start $CHAIN_SERVICE

# check a logs
sudo journalctl -u $CHAIN_SERVICE -f&lt;/pre&gt;

</content></entry></feed>