Nomadic Labs knowledge center
Nomadic LabsTezos Developer PortalTezos stack exchangeTezos Agora
  • πŸ‘‹Introduction
  • Understanding the Tezos blockchain
  • πŸ§‘β€πŸ³Baking - Creating blocks on the Tezos blockchain (DEPRECATED)
  • πŸ–₯️Nodes in the Tezos blockchain (DEPRECATED)
  • πŸ”Tezos Amendment Process (DEPRECATED)
  • 🎟️Tickets (DEPRECATED)
  • πŸ”Sapling - Make confidential transactions on Tezos (DEPRECATED)
  • ✍️Formal Verification
  • How-To
    • πŸ› οΈSpin up a Tezos baking node (DEPRECATED)
    • πŸ’‘Prepare your baker for Ithaca2 (DEPRECATED)
    • πŸ”‚Run a persistent baking node (DEPRECATED)
    • πŸ”ŒSelect a public node (DEPRECATED)
    • πŸ’»Run a Tezos node (DEPRECATED)
    • πŸ™‹β€β™‚οΈDemonstrate ownership of a tz address (DEPRECATED)
    • πŸ“₯Submit transactions to a specific baker (DEPRECATED)
    • πŸš€Estimate Tezos performances (DEPRECATED)
    • πŸ’°Estimate transaction cost (DEPRECATED)
  • Decentralized Applications
    • πŸ’ΈDeFi on the Tezos blockchain
    • 🎨Non-Fungible Tokens (NFTs) on the Tezos blockchain
    • πŸ—οΈHome Base DAO
    • πŸ†”Self-sovereign Identities
      • Introduction
      • Issues surrounding decentralized identity
      • Development of the notion of identity
      • Decentralized identifiers
      • Decentralized identity platforms
      • Tezos and decentralized identity
      • Sources & bibliography
  • Projects
    • πŸ‡ͺπŸ‡ΊEuroTz
    • β˜‘οΈWhitelist smart contract
    • 🎨Rarible
  • Tools
    • πŸ”§Recommended tooling
  • FAQ
    • ❓Installation & data volume
    • ❔Network flow
Powered by GitBook
On this page
  • Changes regarding the baker's signing scheme
  • Upgrading to v12.2 using released binaries
  • Upgrading to v12.2 using Docker
  • Upgrading to v12.2 building from sources
  • Upgrading Ledger Nano software

Was this helpful?

  1. How-To

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.

PreviousSpin up a Tezos baking node (DEPRECATED)NextRun a persistent baking node (DEPRECATED)

Last updated 2 years ago

Was this helpful?

This tutorial provides practical commands to successfully upgrade a baker's infrastructure. As a reminder, we recently wrote an describing the breaking changes regarding Ithaca2 (Psithaca2) and its new consensus algorithm: .

After Ithaca2 is activated, it will be technically impossible to bake without Octez v12.2 or later.

This version contains all binaries (baker and accuser) necessary for Ithaca2 and the associated testnet.

Changes regarding the baker's signing scheme

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 for previous protocols signed messages with the following format:

<magic_byte><chain_id><block|endorsement>

Now, they have the following shape:

<magic_byte><chain_id><block|preendorsement|endorsement>,

where the magic byte has changed from 0x01 (for blocks) and 0x02 (for endorsements), to 0x11 (for blocks), 0x12 (for preendorsements), 0x13 (for endorsements).

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 ). Any other custom solution must be adapted to the signing logic.

Likewise, if you use tezos-signerdon't forget to update, and relaunch it.

Upgrading to v12.2 using released binaries

See our official technical documentation .

Upgrading to v12.2 using Docker

Without Docker Compose

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

With Docker Compose

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.

Upgrading to v12.2 building from sources

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 fetch
git checkout v12.2
rm -rf _opam _build
make build-deps
eval $(opam env)
make

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
Global options:
  -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:

tezos-accuser-012-Psithaca run

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.

Upgrading Ledger Nano software

Henceforth, this is the list of tags supported by the Ledger apps:

EMMY_BLOCK                     0x01
EMMY_ENDORSEMENT               0x02
TRANSFER                       0x03
TENDERBAKE_BLOCK               0x11
TENDERBAKE_PREENDORSEMENT      0x12
TENDERBAKE_ENDORSEMENT         0x13

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 version 2.2.15.

Step 2: Import your Tezos baking address by clicking on Add account, and follow the steps to add your Tezos account.

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!

Only the Tezos Baking app v2.2.15 or 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.

If you don't see the Tezos Baking app, you may need to activate Ledger Live's .

πŸ’‘
⚠️
developer mode
article
Tenderbake
tezos-signer
here
instructions
Ledger Live application
Add account
Choose an account to import
Account successfully added