Skip to content

Commit

Permalink
Merge pull request #2005 from input-output-hk/jpraynaud/1943-rotate-d…
Browse files Browse the repository at this point in the history
…oc-distribution-2442

Docs: rotate documentation for `2442` distribution
  • Loading branch information
jpraynaud authored Oct 21, 2024
2 parents aea9363 + 8b6b9f0 commit 089640c
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ Usage: mithril-client [OPTIONS] <COMMAND>
Commands:
cardano-db Cardano db management (alias: cdb)
mithril-stake-distribution Mithril Stake Distribution management (alias: msd)
cardano-transaction [unstable] Cardano transactions management (alias: ctx)
cardano-transaction Cardano transactions management (alias: ctx)
cardano-stake-distribution [unstable] Cardano stake distribution management (alias: csd)
help Print this message or the help of the given subcommand(s)

Expand All @@ -148,7 +148,7 @@ Options:
--log-output <LOG_OUTPUT>
Redirect the logs to a file
--unstable
Enable unstable commands (such as Cardano Transactions)
Enable unstable commands (such as Cardano Stake Distribution)
-h, --help
Print help
-V, --version
Expand Down Expand Up @@ -253,13 +253,13 @@ mithril_client mithril-stake-distribution list
mithril_client mithril-stake-distribution download $MITHRIL_STAKE_DISTRIBUTION_ARTIFACT_HASH

# 7- List Cardano transaction snapshots
mithril_client --unstable cardano-transaction snapshot list
mithril_client cardano-transaction snapshot list

# 8- Show detailed information about a Cardano transaction snapshot
mithril_client --unstable cardano-transaction snapshot show $CARDANO_TRANSACTION_SNAPSHOT_HASH
mithril_client cardano-transaction snapshot show $CARDANO_TRANSACTION_SNAPSHOT_HASH

# 9- Certify that given list of transactions hashes are included in the Cardano transactions set
mithril_client --unstable cardano-transaction certify $TRANSACTION_HASH_1,$TRANSACTION_HASH_2
mithril_client cardano-transaction certify $TRANSACTION_HASH_1,$TRANSACTION_HASH_2

# 10- List Cardano stake distributions
mithril_client --unstable cardano-stake-distribution list
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,10 @@ This program shows, downloads and verifies certified blockchain artifacts.
Usage: mithril-client [OPTIONS] <COMMAND>

Commands:
snapshot Deprecated, use `cardano-db` instead
cardano-db Cardano db management (alias: cdb)
mithril-stake-distribution Mithril Stake Distribution management (alias: msd)
cardano-transaction [unstable] Cardano transactions management (alias: ctx)
cardano-transaction Cardano transactions management (alias: ctx)
cardano-stake-distribution [unstable] Cardano stake distribution management (alias: csd)
help Print this message or the help of the given subcommand(s)

Options:
Expand All @@ -135,7 +135,7 @@ Options:
--log-output <LOG_OUTPUT>
Redirect the logs to a file
--unstable
Enable unstable commands (such as Cardano Transactions)
Enable unstable commands (such as Cardano Stake Distribution)
-h, --help
Print help
-V, --version
Expand Down Expand Up @@ -436,7 +436,7 @@ You will see more information about the snapshot:
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Size | 2323485648 |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Cardano node version | 9.1.0 |
| Cardano node version | 9.2.1 |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Location | https://storage.googleapis.com/cdn.aggregator.testing-preview.api.mithril.network/preview-e539-i10787.db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667.tar.zst |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down Expand Up @@ -464,19 +464,19 @@ You will see that the selected snapshot archive has been downloaded locally, unp
5/5 - Verifying the cardano db signature…
Cardano db 'db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667' has been unpacked and successfully checked against Mithril multi-signature contained in the certificate.
Files in the directory '/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db' can be used to run a Cardano node with version >= 9.1.0.
Files in the directory '/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db' can be used to run a Cardano node with version >= 9.2.1.
If you are using Cardano Docker image, you can restore a Cardano Node with:
docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db",target=/data/db/ -e NETWORK=preview ghcr.io/intersectmbo/cardano-node:9.1.0
docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db",target=/data/db/ -e NETWORK=preview ghcr.io/intersectmbo/cardano-node:9.2.1
```
### Step 5: Launch a Cardano node from the restored Cardano DB snapshot
Launch an empty Cardano node and make it live in minutes!
```bash
docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="$(pwd)/data/testnet/$SNAPSHOT_DIGEST/db",target=/data/db/ -e NETWORK=$CARDANO_NETWORK ghcr.io/intersectmbo/cardano-node:9.1.0
docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="$(pwd)/data/testnet/$SNAPSHOT_DIGEST/db",target=/data/db/ -e NETWORK=$CARDANO_NETWORK ghcr.io/intersectmbo/cardano-node:9.2.1
```
You will see the Cardano node start by validating the files ingested from the snapshot archive. Then, it will synchronize with the other network nodes and start adding blocks:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ You will see more information about the snapshot:
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Size | 2323485648 |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Cardano node version | 9.1.0 |
| Cardano node version | 9.2.1 |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Location | https://storage.googleapis.com/cdn.aggregator.testing-preview.api.mithril.network/preview-e539-i10787.db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667.tar.zst |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Expand Down Expand Up @@ -514,9 +514,9 @@ You will see that the certificate chain is validated to ensure the issued certif
5/5 - Verifying the cardano db signature…
Cardano db 'db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667' has been unpacked and successfully checked against Mithril multi-signature contained in the certificate.

Files in the directory '/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db' can be used to run a Cardano node with version >= 9.1.0.
Files in the directory '/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db' can be used to run a Cardano node with version >= 9.2.1.

If you are using Cardano Docker image, you can restore a Cardano Node with:

docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db",target=/data/db/ -e NETWORK=preview ghcr.io/intersectmbo/cardano-node:9.1.0
docker run -v cardano-node-ipc:/ipc -v cardano-node-data:/data --mount type=bind,source="/home/mithril/data/testnet/db5f50a060d4b813125c4263b700ecc96e5d8c8710f0430e5c80d2f0fa79b667/db",target=/data/db/ -e NETWORK=preview ghcr.io/intersectmbo/cardano-node:9.2.1
```
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,7 @@ Once this delay has passed, you should be able to observe your `PoolId` listed i
### Verify your signer is registered
After installing the Mithril signer, you can verify that your node is registered by checking your Mithril signer node logs.
After installing the Mithril signer, you can verify that your node is registered.
First, download the script into the desired directory:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@ A **Mithril aggregator** is a trustless node responsible for coordinating the ac

The primary objective of the Mithril aggregator is to coordinate and synchronize the production of Mithril multi-signatures:

- When a new snapshot is ready to be produced (and certified), the Mithril aggregator generates and broadcasts a fresh **beacon** to inform Mithril signers of the specific time reference to employ in computing the message (or digest) for signing
- It is responsible for broadcasting the **verification keys** (Mithril public keys) of all the registered Mithril signers

- It is also responsible for advertising the **verification keys** (Mithril public keys) of all the registered Mithril signers

- The beacon, the current protocol parameters, and the available verification keys are compiled and shared in a **pending certificate**
- The current protocol parameters and the available verification keys are compiled and shared in an **epoch settings** data

- Mithril signers can register with it to participate in the signature process later on.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ Ultimately, any signer will have the potential to function as a Mithril aggregat

The Mithril signer establishes a connection with the Mithril aggregator for the following purposes:

- Determining when to sign a new snapshot (via the advertised beacon of the pending certificate)
- Obtaining the presently used protocol parameters
- Registering its verification keys (public keys)
- Receiving the verification keys of all other declared signers, available for the upcoming message signing
Expand All @@ -56,7 +55,7 @@ In its initial version, the **Mithril signer** consists of a primary component:

- A runtime powered by a state machine:
- The runtime operates synchronously and is programmed to run at consistent intervals
- Three potential states exist: **UNREGISTERED**, **REGISTERED**, and **SIGNED**
- Four potential states exist: **INIT**, **UNREGISTERED**, **READY TO SIGN** and **REGISTERED NOT ABLE TO SIGN**.
- The runtime effectively manages state transitions
- The runtime's framework is depicted in the diagram below:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,7 @@ All Mithril signers and Mithril clients connect to a single aggregator using HTT

Registering a Mithril signing key means that a signer sends its corresponding verification key to the aggregator, for the purpose of distribution to all other Mithril signers.

A Mithril aggregator coordinates creation of signatures by all registered signers. Mithril signers do ask the aggregator whether a signature is pending on a regular basis. The aggregator responds with information what to sign and a list of public information about all registered signers.

Each Mithril signer verifies the information, produces a signature of the requested information to sign and submits that to the aggregator (which verifies the signature being correct upon receiving).
Each Mithril signer checks if there is something that can be signed independently, produces a signature of what's needed to sign and submits that to the aggregator (which verifies the signature being correct upon receiving).

The aggregator repeatedly checks whether enough valid signatures (to reach the quorum) are available to aggregate a Mithril stake-based multi-signature into a certificate.

Expand Down

0 comments on commit 089640c

Please sign in to comment.