Telos Upgrading to Leap 3.1 re-syncing notes

Kanda Weather
2 min readAug 22, 2022

In an effort to distance themselves from Block.one and focus on community requests, the EOS Network Foundation is providing a “hard-fork” in the eosio codebase that will be incompatible with nodeos versions later than 2.0.14 .

The new AntelopeIO (Leap) 3.1 nodeos version is stated to be incompatible with pervious state, state-history, and even blocks.log files.

This means that when all BPs and node operators on Telos upgrade to Antelope, a full re-sync may be needed for many nodes. Unfortunately, many of the public p2p endpoints on both Mainnet and Testnet do not extend all the way to the genesis block #1, so a full re-sync without cherry-picked p2p list will lead to significant time delays for your node.

Here is a recommendation for nodes currently using eosio codebase past 2.0.14 (e.g. 2.1 or even 2.2). If you have any 2.0.x version, a full re-sync shouldn’t be needed.

  • The best thing you can do is have your “seed” node running and listed as a p2p peer in your attempt to re-sync from genesis block with Leap. Even if your seed node is running nodeos 2.1 or 2.2, it can still be used to provide past blocks.
  • Use the sync-fetch-span=1000 option in your config.ini file to sync as quickly as possible over a stable network
  • One trick to sync fast might be to run the new 3.1 version on the same server but on a different p2p port as a currently running node. With this, you would then list 127.0.0.1:<p2p_port> as a peer when you begin the re-sync. Be sure you have enough NVMe or disk space in a fresh set of /blocks and /state directories beforehand!
  • Keep your p2p-peer-address list short (3 or 4 close to your node geographically), but most importantly additionally have at least 2 or 3 nodes that extend all the way to genesis block.

Unfortunately, there’s not a straightforward way to query a p2p node to know it’s starting block number (at least that I know of)! To make life easier (and eliminate a lot of the guesswork), here is a list of some of the endpoints I’ve found that have block#1 available. I’ve included our kandaweather endpoints here, because we recently upgraded to Leap 3.1.0-rc2 and extend back to genesis block:

Mainnet Nodes:
p2p.telosunlimited.io:9876
p2p.dailytelos.net:9876
seed.telosmadrid.io:9876
telos.p2p.boid.animus.is:5252
telos.p2p.boid.animus.is:5151
kandaweather-mainnet.ddns.net:9876

Testnet Nodes:
telostest.seed.eosnation.io:9876
seed-testnet.telosmadrid.io:9886
p2p.testnet.telosunlimited.io:9876
telos.testnet.boid.animus.is:3535
telos.testnet.boid.animus.is:5050
kandaweather-testnet.ddns.net:8765

For notes on how to install Leap 3.1 on your Ubuntu server (yes all other OS support is dropped), please see cc32d9’s notes here:

https://gist.github.com/cc32d9/786f45f0f502224155edc622dc83d79d

Good luck and Go Telos!

P.S.
If you happen to be certain that a node has p2p availability from genesis, please reach contact me @sunburntcat on Telegram, and I’d be glad to add that peer to the above lists.

--

--