Skip to main content

New Protocol Insights Dashboard released

· One min read
Mithril Team

A new Protocol Insights Dashboard has been released

We have released a new version of the Protocol Insights Dashboard which provides a comprehensive view of the Mithril network and its performance metrics.

The Protocol Insights Dashboard is a valuable tool for monitoring the network and understanding its behavior:

  • Participation metrics
  • Usage metrics
  • Health metrics
  • Artifacts metrics
  • Software metrics

Protocol Insights Dashboard

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

Mithril aggregator Prometheus endpoint is available

· One min read
Mithril Team

Mithril aggregator Prometheus endpoint is available

With the release of the new distribution 2445, the Mithril aggregator can start an optional Prometheus endpoint to monitor basic metrics.

Please note that the Mithril aggregator needs to be restarted after the configuration for the Prometheus endpoint.

Additionally, a Grafana template has been created to easily setup a dashboard for this Prometheus endpoint (ID 22165): https://grafana.com/grafana/dashboards/22165-mithril-aggregator/

Grafana Dashboard

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

Certification of Cardano stake distribution

· 2 min read
Mithril Team

Certification of Cardano stake distribution

Update 2024/10/21

We have shipped stable support for the Cardano stake distribution certification with distributions 2437 and 2442.

A threshold of at least 70% of the stake running version 0.2.182 (within 10 days after the distribution 2442 is released) is mandatory in order to activate the certification of the Cardano stake distribution on the release-mainnet network.

The Mithril Protocol Insights dashboard displays the adoption rate of the different signer versions on the release-mainnet network.

With the release of the new distribution 2437, we have started to roll-out the certification of the Cardano stake distribution in the Mithril networks.

The Mithril network now provides certified Cardano stake distribution data without requiring a full Cardano node, a useful feature for applications such as bridges and layer 2 solutions. The key features include:

  • Certification of the Cardano stake distribution of the ending epoch at each epoch transition.
  • New HTTP routes in the Aggregator REST API to access this certified data.
  • Updates to the Mithril client library and CLI for retrieving and verifying Cardano stake distribution.
  • WASM client support for these functionalities.
  • Mithril Explorer now displays certified Cardano stake distribution.

The roll-out plan of the feature is the following:

  • Distribution 2437:
    • Activation of the certification of Cardano stake distribution in the pre-release-preview network.
    • Activation of the certification of Cardano stake distribution in the release-preprod network.
  • Distribution 2442:
    • Activation of the certification of Cardano stake distribution in the release-mainnet network.

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

Mithril client WASM breaking change

· 2 min read
Mithril Team

Breaking change introduced in the unstable features of the Mithril client WASM

With the release of the new distribution 2437, we have introduced a breaking change to the Mithril client WASM version 0.4.1: the activation of the unstable features is now done with a configuration option of the client instead of using the special .unstable property of the client.

This means that when a new unstable feature is switched to stable, there will be no breaking change in the developers code using the Mithril client WASM, thus providing a seamless transition and a better developer experience.

Here is the code used to activate the unstable features with the client options:

let client = new MithrilClient(aggregator_endpoint, genesis_verification_key, {
// The following option activates the unstable features of the client.
// Unstable features will trigger an error if this option is not set.
unstable: true,
});

The previous client.unstable implementation is not supported anymore and must be replaced with client:

// Before
let mithril_stake_distributions_message =
await client.unstable.compute_mithril_stake_distribution_message(
last_stake_distribution,
);
// After
let mithril_stake_distributions_message =
await client.compute_mithril_stake_distribution_message(
last_stake_distribution,
);

The Mithril client WASM documentation is available here.

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

Certification of Cardano transactions

· One min read
Mithril Team

Certification of Cardano transactions

Update 2024/10/02

We have activated the Cardano transactions certification on the release-mainnet network.

Update 2024/09/25

We have shipped stable support for the Cardano transaction certification with distribution 2437.

A threshold of at least 70% of the stake running version 0.2.182 (within 10 days after the distribution 2437 is released) is mandatory in order to activate the certification of the Cardano transactions on the release-mainnet network.

The Mithril Protocol Insights dashboard displays the adoption rate of the different signer versions on the release-mainnet network.

With the release of the new distribution 2430, we have started to roll-out the certification of the Cardano transactions in the Mithril networks.

The roll-out plan of the feature is the following:

  • Distribution 2430 (before the Chang hardfork):
    • Activation of the certification of Cardano transactions in the pre-release-preview network.
    • Activation of the certification of Cardano transactions in the release-preprod network.
  • Distribution 2437 (after the Chang hardfork):
    • Activation of the certification of Cardano transactions in the release-mainnet network.

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

Mithril client CLI 'snapshot' command is removed

· One min read
Mithril Team

The 'snapshot' command of the client CLI is removed

With the release of the new distribution 2423, we have removed the snapshot command of the client CLI.

The snapshot command has been superseded by the cardano-db snapshot command.

The snapshot command has been deprecated with the release 2412, and this has been announced in this post.

In order to proceed to the upgrade, install the latest stable client CLI, and replace the removed command with the new command, e.g.:

mithril-client -vvv snapshot download latest --json

Should be replaced with

mithril-client -vvv cardano-db snapshot download latest --json

The documentation of the client CLI has been updated accordingly and can be found here.

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

Mithril client CLI 'snapshot' command is deprecated

· One min read
Mithril Team

The 'snapshot' command of the client CLI is deprecated

With the release of the new distribution 2412, we have deprecated the snapshot command of the client CLI.

The snapshot command has been superseded by the cardano-db snapshot command. In order to give time to our users to use the new command, the now legacy snapshot command is still available, but it will be removed in a near future.

In order to proceed to the upgrade, install the latest stable client CLI, and replace the legacy command with the new command, e.g.:

mithril-client -vvv snapshot download latest --json

Should be replaced with

mithril-client -vvv cardano-db snapshot download latest --json

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

Mithril signer Prometheus endpoint is available

· One min read
Mithril Team

Mithril signer Prometheus endpoint is available

With the release of the new distribution 2412, the Mithril signer can start an optional Prometheus endpoint to monitor basic metrics.

The endpoint is not activated by default, and needs to be setup by the SPOs who wish to use it. We have added a section in the Run a Mithril signer as an SPO guide describing the setup process.

Please note that the Mithril signer needs to be restarted after the configuration for the Prometheus endpoint.

Additionally, a Grafana template has been created to easily setup a dashboard for this Prometheus endpoint (ID 20776): https://grafana.com/grafana/dashboards/20776-mithril-signer/

Grafana Dashboard

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

Mithril client CLI output breaking change

· 3 min read
Mithril Team

Breaking change introduced in the output of Mithril client CLI

With the release of the new distribution 2408, we have introduced a breaking change to the Mithril client CLI version 0.7.0: all logs are now written to stderr instead of stdout. This allows for cleaner command results that you can directly pipe into tools like jq.

Below, the stdout output of mithril-client -vvv snapshot download latest --json command before the update:

{"timestamp": "2024-02-27T10:41:55.576645+00:00", "step_num": 1, "total_steps": 5, "message": "Checking local disk info…"}
{"timestamp": "2024-02-27T10:41:55.576932+00:00", "step_num": 2, "total_steps": 5, "message": "Fetching the certificate and verifying the certificate chain…"}
{"timestamp": "2024-02-27T10:41:55.847199+00:00", "step_num": 3, "total_steps": 5, "message": "Downloading and unpacking the snapshot…"}
{"timestamp": "2024-02-27T10:41:56.023585+00:00", "bytes_downloaded": 390, "bytes_total": 345223208, "seconds_left": 75797.765, "seconds_elapsed": 0.085}
{"timestamp": "2024-02-27T10:41:56.356820+00:00", "bytes_downloaded": 9487846, "bytes_total": 345223208, "seconds_left": 32.674, "seconds_elapsed": 0.418}
{"timestamp": "2024-02-27T10:41:56.690001+00:00", "bytes_downloaded": 21682030, "bytes_total": 345223208, "seconds_left": 18.209, "seconds_elapsed": 0.752}
{"timestamp": "2024-02-27T10:41:57.023923+00:00", "bytes_downloaded": 33795639, "bytes_total": 345223208, "seconds_left": 14.218, "seconds_elapsed": 1.085}
{"timestamp": "2024-02-27T10:41:57.356999+00:00", "bytes_downloaded": 45934938, "bytes_total": 345223208, "seconds_left": 12.204, "seconds_elapsed": 1.419}
{"timestamp": "2024-02-27T10:41:57.690031+00:00", "bytes_downloaded": 58130472, "bytes_total": 345223208, "seconds_left": 10.894, "seconds_elapsed": 1.752}
{"timestamp": "2024-02-27T10:41:58.023964+00:00", "bytes_downloaded": 70235494, "bytes_total": 345223208, "seconds_left": 9.922, "seconds_elapsed": 2.086}
{"timestamp": "2024-02-27T10:41:58.357817+00:00", "bytes_downloaded": 82456663, "bytes_total": 345223208, "seconds_left": 9.134, "seconds_elapsed": 2.419}
{"timestamp": "2024-02-27T10:41:58.690945+00:00", "bytes_downloaded": 94618128, "bytes_total": 345223208, "seconds_left": 8.463, "seconds_elapsed": 2.753}
{"timestamp": "2024-02-27T10:41:59.024599+00:00", "bytes_downloaded": 106765259, "bytes_total": 345223208, "seconds_left": 7.868, "seconds_elapsed": 3.086}
{"timestamp": "2024-02-27T10:41:59.358139+00:00", "bytes_downloaded": 118941687, "bytes_total": 345223208, "seconds_left": 7.325, "seconds_elapsed": 3.420}
{"timestamp": "2024-02-27T10:41:59.691176+00:00", "bytes_downloaded": 131052374, "bytes_total": 345223208, "seconds_left": 6.824, "seconds_elapsed": 3.753}
{"timestamp": "2024-02-27T10:42:00.025189+00:00", "bytes_downloaded": 143190076, "bytes_total": 345223208, "seconds_left": 6.351, "seconds_elapsed": 4.087}
{"timestamp": "2024-02-27T10:42:00.358735+00:00", "bytes_downloaded": 155448192, "bytes_total": 345223208, "seconds_left": 5.896, "seconds_elapsed": 4.420}
{"timestamp": "2024-02-27T10:42:00.693529+00:00", "bytes_downloaded": 167494850, "bytes_total": 345223208, "seconds_left": 5.466, "seconds_elapsed": 4.755}
{"timestamp": "2024-02-27T10:42:01.026885+00:00", "bytes_downloaded": 179789000, "bytes_total": 345223208, "seconds_left": 5.043, "seconds_elapsed": 5.088}
{"timestamp": "2024-02-27T10:42:01.360483+00:00", "bytes_downloaded": 187536751, "bytes_total": 345223208, "seconds_left": 4.778, "seconds_elapsed": 5.422}
{"timestamp": "2024-02-27T10:42:01.693978+00:00", "bytes_downloaded": 199737576, "bytes_total": 345223208, "seconds_left": 4.389, "seconds_elapsed": 5.756}
{"timestamp": "2024-02-27T10:42:02.027113+00:00", "bytes_downloaded": 211879712, "bytes_total": 345223208, "seconds_left": 4.006, "seconds_elapsed": 6.089}
{"timestamp": "2024-02-27T10:42:02.360139+00:00", "bytes_downloaded": 224033698, "bytes_total": 345223208, "seconds_left": 3.626, "seconds_elapsed": 6.422}
{"timestamp": "2024-02-27T10:42:02.694407+00:00", "bytes_downloaded": 236212871, "bytes_total": 345223208, "seconds_left": 3.249, "seconds_elapsed": 6.756}
{"timestamp": "2024-02-27T10:42:03.027431+00:00", "bytes_downloaded": 248301091, "bytes_total": 345223208, "seconds_left": 2.878, "seconds_elapsed": 7.089}
{"timestamp": "2024-02-27T10:42:03.361001+00:00", "bytes_downloaded": 260428703, "bytes_total": 345223208, "seconds_left": 2.509, "seconds_elapsed": 7.423}
{"timestamp": "2024-02-27T10:42:03.694430+00:00", "bytes_downloaded": 272673595, "bytes_total": 345223208, "seconds_left": 2.139, "seconds_elapsed": 7.756}
{"timestamp": "2024-02-27T10:42:04.028557+00:00", "bytes_downloaded": 284878102, "bytes_total": 345223208, "seconds_left": 1.774, "seconds_elapsed": 8.090}
{"timestamp": "2024-02-27T10:42:04.361686+00:00", "bytes_downloaded": 296835374, "bytes_total": 345223208, "seconds_left": 1.418, "seconds_elapsed": 8.423}
{"timestamp": "2024-02-27T10:42:04.695532+00:00", "bytes_downloaded": 309005759, "bytes_total": 345223208, "seconds_left": 1.058, "seconds_elapsed": 8.757}
{"timestamp": "2024-02-27T10:42:05.028705+00:00", "bytes_downloaded": 321118015, "bytes_total": 345223208, "seconds_left": 0.702, "seconds_elapsed": 9.090}
{"timestamp": "2024-02-27T10:42:05.361956+00:00", "bytes_downloaded": 333264477, "bytes_total": 345223208, "seconds_left": 0.347, "seconds_elapsed": 9.424}
{"timestamp": "2024-02-27T10:42:05.711065+00:00", "step_num": 4, "total_steps": 5, "message": "Computing the snapshot message"}
{"timestamp": "2024-02-27T10:42:12.540752+00:00", "step_num": 5, "total_steps": 5, "message": "Verifying the snapshot signature…"}
{"timestamp": "2024-02-27T10:42:12.540913+00:00", "db_directory": "/mithril-client-0.5.17/db"}

Now the stdout output with Mithril client CLI version 0.7.0:

{"timestamp": "2024-02-27T10:43:06.357962+00:00", "db_directory": "/mithril-client-0.7.0/db"}

In addition, the --log-format-json option that enable JSON output is now written to stderr as well.

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

Mithril SanchoNet network released

· One min read
Mithril Team

The release of the Mithril SanchoNet testing network

The Mithril team has released the new testing-sanchonet Mithril network.

Mithril pioneer stake pool operators (SPOs) are welcome to run a Mithril signer on this network, with configuration parameters available here.

It's important to note that this network will serve as the primary platform for experimenting with unstable features of the Mithril networks in the future, such as the Cardano transactions set signatures or peer-to-peer (P2P) networking.

The unstable features are consistently developed and deployed to the SanchoNet testing network directly from the main branch of the Mithril repository. Therefore, Mithril nodes operating on this network must be either built from the main branch or use pre-built binaries from the unstable release. Failure to update Mithril nodes to the latest unstable version or encountering a bug during development could result in operational disruptions.

Note that the testing-sanchonet network undergoes continuous monitoring, and its availability status is reported on this status page.

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