15

With the Athens upgrade looking likely, I am interested to hear how bakers can safely update their nodes to the latest version whilst experiencing minimum downtime. It has been straightforward doing updates until now as you mostly didn't have to worry about protocol compatability.

It is not clear to me whether you can simply compile the latest version of the baker, node and endorser software and start running it now, or if you have to wait until the protocol comes into effect before running each. If the latter does that mean as a baker you need to be available at the moment the new protocol comes into effect to swap the baker and endorser binaries in order to not miss any baking/endorsing entitlement.

3 Answers 3

13

In principle the node doesn't need to be updated, it is capable of receiving a new protocol 004, compile it and use it to validate blocks produced by protocol 004. In practice it is a good idea to update to the latest release because there are always useful improvements. For example the snapshots introduced in Mainnet May allow for a much faster validation of the migration block.

On the contrary the daemons, tezos-baker-* tezos-endorser-* and tezos-accuser-*, are protocol specific as their name suggests, so you need to run the right set of daemons for the protocol that is currently active in the chain. Until the (possible) activation of protocol 004 you need to run daemons for 003. After that you can stop them and only run 004 daemons.

This turn over is automatic if you run them in advance. The daemons talk to the node to know which protocol is currently running and if it is not theirs, they just stay idle. So it is perfectly fine to run both sets of daemons for 003 and 004 as of today. The set 004 will start if protocol 004 is activated and the set 003 will stop at the same time.

0
5

Bakers don’t have to update the node when athens goes through. The updated rules will activate automagically at the end of the voting cycle (if succesful).

For the baking deamons updated software needs to be run in general since an amendment can have direct impact on the construction of the new block.

From an operational persective i believe that you should be safe running both 003 and 004 deamons in parallel since each will only be active depending on the active protocol at any given time.

If you don’t feel comfortable running both sets of ledger you should be able to wait until the new protocol is activated to launch the new deamons. This works except if you have rights just after the transition of course!

I am trying to find some written guidance for bakers from an operational perspective. Meanwhile for more details you can check

https://tezos.gitlab.io/master/whitedoc/voting.html

https://medium.com/tezos/amending-tezos-b77949d97e1e

EDIT: corrected previous answer that incorrectly stated that nothing has to be updated.

2
  • 1
    So I can safely replace the 003-X endorser/baker binaries with the 004-X endorser/baker binaries today? And they will bake on the old protocol until the network switches?
    – xtzbaker
    Apr 8, 2019 at 8:40
  • @xtzbaker i asked experts to come and give some official answer here ;)
    – Ezy
    Apr 10, 2019 at 9:04
5

The Exploration phase for Pt24m4xi.....(Athens A) will end on block level 39216. We have a supermajority to test the winning proposal (Athens A)

This means that when the exploration phase (https://tzscan.io/proposals) ends the Tezos chain is forked with a test chain and the 004-Pt24m4xi binaries must be used on this test chain. The main chain still remains on the 003 binaries

The node can support both the main and the test chain. To enable the test chain on your current node you should run it with --enable-testchain or add "enable_testchain": true in the p2p section of the node config.json and restart the node

When we enter the testing phase the node with test chain enabled will automatically follow both chains.

I am not 100% sure about this, maybe someone can confirm, but the baking rights in the test chain are the same that they are on the main chain. So if you have the baking/endorsing right on the main chain you also have this right on the test chain.

This means that bakers who really want to test the new protocol (and keep the test chain going) should be also baking on the test chain.

For the purpose one needs to use the 004 binaries. You can start them with the options –chain test

So for the baker :

tezos-baker-004-Pt24m4xi --chain test run with local node [path to tezos-node] [account]

You can already start it now (in addition to the 003 binaries) and it will say something like Waiting for the test chain to be forked

Reminder : bakers should be extra careful with double baking

You can also separate the setup and there is a really good how-to on

http://tezos.gitlab.io/mainnet/releases/april.html

When the test goes well we still need to vote to Promote the new protocol, if this does not reach super majority we will stay on the 003.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.