Skip to main content

2 posts tagged with "era"

View All Tags

Era switch to Pythagoras

· 2 min read
Mithril Team

Era switch to Pythagoras

We have introduced the Pythagoras era in the Mithril networks. The era switch to Pythagoras is a significant milestone that brings new features and improvements to the Mithril protocol.

danger

The Mithril signer versions compatible with the new Pythagoras era are:

  • 0.2.221
  • 0.2.209
  • 0.2.200

All the other versions are not compatible with the new era and must be updated.

tip

You can easily update your Mithril signer with this one line command (it will be downloaded in the current directory, a custom folder can be specified with -p option):

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/input-output-hk/mithril/refs/heads/main/mithril-install.sh | sh -s -- -c mithril-signer -d latest -p $(pwd)

The era switch to Pythagoras plan is the following:

  • Era switch on pre-release-preview:
    • Create the era switch transaction (done at epoch 757).
    • Era switch to Pythagoras took place at the transition to epoch 759.
  • Era switch on release-preprod:
    • Create the era switch transaction (done at epoch 184).
    • Era switch to Pythagoras took place at the transition to epoch 186.
  • Era switch on release-mainnet:
    • Create the era switch transaction (to be done, expected early January 2025).
    • Era switch to Pythagoras.
info

We use the era switch mechanism to introduce breaking changes in the Mithril protocol. The new features and improvements are not backward compatible with the previous era. This means that a large majority of at least 95% of the stake running the new version is required to activate the new era. More information about the era switch mechanism can be found in the Mithril Network Upgrade Strategy ADR.

For any inquiries or assistance, don't hesitate to contact the team on the Discord channel.

Mithril Era Switch

· 2 min read
Mithril Team

Update 2023/03/10: The Era Switch behavior has been activated on the release-preprod network.

Update 2023/03/08: The Era Switch behavior has been activated on the pre-release-preview network.

An new Era Switch behavior will be introduced soon to the Mithril networks

Epic: Implement eras behavior switch #707](Implement eras behavior switch #707

⚠️ The Era Switch is not deployed yet to the pre-release-preview and release-preprod network. A special announcement will be made on the ask-mithril Discord channel when a new release candidate distribution is ready.

In order to guarantee that any breaking change of the Mithril nodes does not break the Certificate Chain and the that new snapshots are consistently produced, the Mithril team has developped an Era Switch Behavior. This mechanism enables to embed new features in the signer and aggregator nodes prior ro releasing them. Also the activation of these new features will take place in a coordinated manner: all the eligible nodes will hot switch to a new era at the same Cardano epoch transition. To do so, the nodes rely on a transaction that is stored on the Cardano chain that provides era markers with the associated activations epochs for the eras.

🔥 Activating this feature will require an update of configuration of the signer nodes after updating their binary:

  • The ERA_READER_ADAPTER_TYPE env var must be set to cardano-chain
  • The ERA_READER_ADAPTER_PARAMS env var must be set to the result of the command jq -nc --arg address $(wget -q -O - **YOUR_ERA_READER_ADDRESS**) --arg verification_key $(wget -q -O - **YOUR_ERA_READER_VERIFICATION_KEY**) '{"address": $address, "verification_key": $verification_key}' (the YOUR_ERA_READER_ADDRESS and YOUR_ERA_READER_VERIFICATION_KEY are values provided in the networks configuration matrix)

Here is the configuration values that should be used on pre-release-preview:

ERA_READER_ADAPTER_TYPE=cardano-chain
ERA_READER_ADAPTER_PARAMS={"address":"addr_test1qrv5xfwh043mlc3vk5d97s4nmhxu7cmleyssvhx37gkfyejfe8d38v3vsfgetjafgrsdc49krug8wf04h5rmtengtejqlxrksk","verification_key":"5b35352c3232382c3134342c38372c3133382c3133362c34382c382c31342c3138372c38352c3134382c39372c3233322c3235352c3232392c33382c3234342c3234372c3230342c3139382c31332c33312c3232322c32352c3136342c35322c3130322c39312c3132302c3230382c3134375d"}

Here is the configuration values that should be used on release-preprod:

ERA_READER_ADAPTER_TYPE=cardano-chain
ERA_READER_ADAPTER_PARAMS={"address":"addr_test1qpkyv2ws0deszm67t840sdnruqgr492n80g3y96xw3p2ksk6suj5musy6w8lsg3yjd09cnpgctc2qh386rtxphxt248qr0npnx","verification_key":"5b35352c3232382c3134342c38372c3133382c3133362c34382c382c31342c3138372c38352c3134382c39372c3233322c3235352c3232392c33382c3234342c3234372c3230342c3139382c31332c33312c3232322c32352c3136342c35322c3130322c39312c3132302c3230382c3134375d"}

All these information will be available at the updated Run a Mithril Signer node (SPO) guide.

Here is a schema that illustrates the era switch behavior: Era Switch Schema

More information is also available at this ADR.

Feel free to reach out to us on the Discord channel for questions and/or help.