RFC: Telos Mainnet 1.8.x Upgrade Process & Roadmap

Wednesday, Sep 04, 2019 by GoodBlock

Block One has released code for an important upgrade to EOSIO v.1.8.x. This system upgrade enables several new features in EOSIO and is necessary for following the ongoing upgrade path in the future. However, it is important to note that this is a hard fork in the consensus protocol of the EOSIO software, meaning that EOSIO v.1.8.x cannot interoperate with previous versions without creating forks in the chain. Therefore, it is necessary to first rehearse this process on our testnets and stagenet and to coordinate the process on our mainnet to ensure proper operation of the Telos mainnet and all of the block explorers, wallets and applications operating on it.

All nodes running on Telos will need to upgrade to EOSIO v.1.8.x and replay their nodes, which will be time consuming. Block producers need additional coordination. Block One has provided a technical guidance document detailing best practices for all nodes operating on the Telos blockchain. 1.8: Consensus Protocol Upgrade Process.

To facilitate this coordinated effort and elicit comments from the Telos community, the Telos Core Developers propose the following roadmap for updating the Telos mainnet to EOSIO v.1.8.x. Please contribute your thoughts and ideas to improve this and help us work toward a shared schedule. It is in some ways fortunate that the Telos Core Developers and several block producers recently needed to coordinate efforts in discovering the root cause of an error in the Telos testnet (A, or Aristotle) because this provided valuable experience in coordinating these efforts that can be put to good use in the upgrade to EOSIO v.1.8.x.

Note: “Basho testnet” refers to the new Telos testnet (B) which was recently created and which will become the Telos testnet of record at some date in the near future. “Stagenet” refers to one of several private testnets for Telos block producer usage in testing new software or rehearsing coordinated system upgrades. Future dates indicate the earliest and/or proposed times for each milestone

TCD Roadmap

Work Already Completed

eosio.contracts v1.6 — Merge Github repository
eosio.system v1.6 — Unit Testing and regression testing
eosio.system v1.6 — Basho Testnet upgrade
eosio.system v1.6 — Mainnet upgrade
eosio.contracts v1.7.x — Merge Github repository
eosio.contracts v1.7.x — Unit testing and regression testing

Upcoming Work

September 2–6

trail-service 2.0 — Deploy on Basho testnet
eosio.saving v1.7.x — rewrite for use with trail-service 2.0
eosio.amend v1.7.x — rewrite for use with trail-service 2.0

September 9–13

eosio.saving v1.7.x and eosio.amend 1.7.x — Unit testing and regression testing
eosio.saving and eosio.amend — Basho testnet upgrade
– At this point, all Telos block producers must spin up a v1.8.2 node on both the Telos mainnet and the Basho testnet and replay the respective chains. This is required for the eosio v1.8.2 upgrade and eosio.system v1.7.x upgrade as referenced in the Process document.

September 16–20

eosio v1.8.x and eosio.contracts v1.7.x — Stagenet deployment(s) (via coordinated BP action)
trail-service 2.0 — Stagenet deployment(s) (via BP multisig transaction)
eosio v1.8.2 and eosio.system v1.7.x — Basho Testnet upgrade (via coordinated BP action)

September 23–27

trail-service 2.0 — Mainnet deployment (via BP multisig transaction)
eosio.saving and eosio.amend — Mainnet upgrade (via BP multisig transaction)
eosio v1.8.x and eosio.system v1.7.x — Mainnet upgrade (via coordinated BP action)