Prepare your baker for Ithaca2 (DEPRECATED)
Ithaca2 is one of the most important amendments so far. To continue baking after activation, bakers need to upgrade their infrastructure before the end of the adoption period.
After Ithaca2 is activated, it will be technically impossible to bake without
Octez v12.2or later.
This version contains all binaries (baker and accuser) necessary for Ithaca2 and the associated testnet.
With Tenderbake, endorsement operations now consist of a level, a round, a slot, and a payload hash. A Baker can emit at most one endorsement per round, but it is allowed to emit more endorsements per level. The former high-water mark mechanism used by the signer has been adapted accordingly. The tezos-signer for previous protocols signed messages with the following format:
Now, they have the following shape:
where the magic byte has changed from
0x01(for blocks) and
0x02(for endorsements), to
The signer is authorized to sign whenever the level is strictly higher than the previous level, or the level is the same, but the round is strictly higher. Octez v12.2 contains the updated signer. Bakers using a Ledger Nano must upgrade their Ledger's software (see instructions). Any other custom solution must be adapted to the signing logic.
Likewise, if you use
tezos-signerdon't forget to update, and relaunch it.
If you launch your node with a simple docker command, you should use the v12.2 image and the following image to run your node:
docker run -d --name container_name tezos/tezos:v12.2 tezos-node --rpc-addr 127.0.0.1:8732
Then you can, for example, access the created container and launch your Ithaca2 daemons:
docker exec -it container_name sh
#import your baking key
#The baking daemon
tezos-baker-012-Psithaca --endpoint http://127.0.0.1:8732 run with local node /run/tezos/node/data/
#The accuser daemon
tezos-accuser-012-Psithaca --endpoint http://127.0.0.1:8732 run
Docker Compose users only need to change the docker image and relaunch the containers to update Octez:
... services: [type]-node: image: tezos/tezos:v12.2 ...
Afterward, launch your baking/accuser daemons as you normally do.
Note: it requires basic knowledge of the OPAM package manager and the OCaml packages workflow.
Step 1: Access your tezos repository and execute the following commands:
git checkout v12.2
rm -rf _opam _build
eval $(opam env)
Step 2: Launch the binaries
Note, that there is no endorser daemon anymore. The baker daemon performs both baking and endorsement operations. Launch your baker:
tezos-baker-012-Psithaca run #with optional arguments
-d --base-dir <path>: client data directory (absent: TEZOS_CLIENT_DIR env)
-c --config-file <path>: configuration file
-t --timings: show RPC request times
--chain <hash|tag>: chain on which to apply contextual commands (possible tags are 'main' and 'test')
-b --block <hash|tag>: block on which to apply contextual commands (possible tags are 'head' and 'genesis')
-w --wait <none|<int>>: how many confirmation blocks before to consider an operation as included
-p --protocol <hash>: use commands of a specific protocol
-l --log-requests: log all requests to the node
-A --addr <IP addr|host>: [DEPRECATED: use --endpoint instead] IP address of the node
-P --port <number>: [DEPRECATED: use --endpoint instead] RPC port of the node
-S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node.
-m --media-type <json, binary, any or default>: Sets the "media-type" value for the "accept" header for RPC requests t
And the accuser:
Bakers using a Ledger hardware wallet for operation signing will need to upgrade the Tezos Baking app to v.2.2.15 or later. See instructions below.
Only the Tezos Baking app
v2.2.15or later is compatible with Ithaca2 (due to the changes imposed by the adoption of the Tenderbake consensus algorithm). It is however also compatible with the current protocol version, so it is safe (and advisable) to upgrade now.
Henceforth, this is the list of tags supported by the Ledger apps:
To upgrade, bakers will need to
- Exit the Tezos Baking app;
- Upgrade the Tezos Wallet and Tezos Baking apps using the Ledger Live application;
- Authorize the Ledger to bake for their specific key;
- Relaunch the Baking App.
To avoid missing assigned baking/endorsing slots, owning a second Ledger Nano can be useful for signing operations while the first Ledger Nano is being upgraded.
The following example uses a Ledger Nano S.
Step 1: Exit Tezos Baking application and launch Ledger Live.
On the bar at the bottom left, access the Manager section and search for Tezos. Upgrade both the Tezos Wallet and Tezos Baking applications to
Ledger Live application
Step 2: Import your Tezos baking address by clicking on Add account, and follow the steps to add your Tezos account.
Choose an account to import
Account successfully added
Step 3: Before launching the baker and accuser daemons, you need to re-authorize your Ledger to bake for your baking key.
tezos-client setup ledger to bake for <account-alias-or-ledger-uri> #it is possible to provide a watermark with --main-hwm <HWM>
Step 4: Your Nano S is now upgraded, and you are ready to bake on Ithaca2. Don't forget to launch the Tezos Baking app! Happy baking!