Skip to content

Commit

Permalink
Merge pull request #679 from input-output-hk/jpraynaud/update-crates-…
Browse files Browse the repository at this point in the history
…version-2302

Update crates version 2302
  • Loading branch information
jpraynaud authored Jan 11, 2023
2 parents 697b10e + 54a515f commit 72978a9
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 49 deletions.
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ Here is a list of the available parameters:
| `db_directory` | `--db-directory` | - | `DB_DIRECTORY` | Directory to snapshot from the **Cardano Node** | `/db` | - | :heavy_check_mark: |
| `network` | - | - | `NETWORK` | Cardano network | - | `testnet` or `mainnet` or `devnet` | :heavy_check_mark: |
`network_magic` | - | - | `NETWORK_MAGIC` | Cardano Network Magic number (for `testnet` and `devnet`) | - | `1097911063` or `42` | - |
| `party_id` | - | - | `PARTY_ID` | Party Id of the signer, usually the `Pool Id` of the SPO | - | `pool1pxaqe80sqpde7902er5kf6v0c7y0sv6d5g676766v2h829fvs3x` | - | Mandatory in `Pool Id Declaration Mode` where the owner is not verified (soon to be deprecated)
| `party_id` | - | - | `PARTY_ID` | Party Id of the signer, usually the `Pool Id` of the SPO | - | `pool1pxaqe80sqpde7902er5kf6v0c7y0sv6d5g676766v2h829fvs3x` | - | Mandatory in `Pool Id Declaration Mode` where the owner is not verified (decommissioned, only available when built with `allow_skip_signer_certification` feature, for test only)
| `run_interval` | - | - | `RUN_INTERVAL` | Interval between two runtime cycles in ms | - | `60000` | :heavy_check_mark: |
| `aggregator_endpoint` | - | - | `AGGREGATOR_ENDPOINT` | Aggregator node endpoint | - | `https://aggregator.pre-release-preview.api.mithril.network/aggregator` | :heavy_check_mark: |
| `data_stores_directory` | - | - | `DATA_STORES_DIRECTORY` | Directory to store signer data (Stakes, Protocol initializers, ...) | - | `./mithril-signer/stores` | :heavy_check_mark: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@ For more information about the **Mithril Protocol**, please refer to the [About
## What you'll need

* Operating a **Cardano Node** as a **Stake Pool**:
* **Stable**:
* The Cardano `Operational Certificate` file of the pool
* The Cardano `KES Secret Key` file of the pool
* **Deprecated**: The Cardano `Pool Id` in a `BECH32` format such as `pool1frevxe70aqw2ce58c0muyesnahl88nfjjsp25h85jwakzgd2g2l`
* The Cardano `Operational Certificate` file of the pool
* The Cardano `KES Secret Key` file of the pool

* Access to the file system of a `relay` **Cardano Node** running on the `testnet`:
* Read rights on the `Database` folder (`--database-path` setting of the **Cardano Node**)
Expand All @@ -54,24 +52,15 @@ For more information about the **Mithril Protocol**, please refer to the [About

## Mithril Keys Certification

:::danger

The cryptographic certification of the Mithril keys is an experimental feature. We strongly recommend that you first setup a Mithril Signer node in the stable mode. Once you are able to sign in the stable mode is a good time to start experimenting with the keys certification.

Your feedback is very important, so feel free to contact us on the #moria channel on the IOG [Discord server](https://discord.gg/5kaErDKDRq), or to file an issue on GitHub.

:::
### Certify your Pool Id

### Stable mode: Certify your Pool Id

In this mode, you declare your Cardano `Operational Certificate` file and `KES Secret Key` file which allows to:
You must declare your Cardano `Operational Certificate` file and `KES Secret Key` file which allows to:

* Compute automatically the `PoolId`
* Verify that you are the owner of the `PoolId`, and thus of the associated stakes used by Mithril protocol
* Verify that you are the owner of the Mithril `Signer Secret Key`, and thus allowed to contribute to the multi-signatures and certificate production of the Mithril network

This mode is displayed with a specific **Stable** mention in this document.

## Building your own executable

### Download source
Expand Down Expand Up @@ -158,7 +147,7 @@ sudo mv mithril-signer /opt/mithril
* `User=cardano`:
Replace this value with the correct user. We assume that the user used to run the **Cardano Node** is `cardano`. The **Mithril Signer** must imperatively run with the same user.

* **Stable mode**: in the `/opt/mithril/mithril-signer/service.env` env file:
* In the `/opt/mithril/mithril-signer/service.env` env file:
* `KES_SECRET_KEY_PATH=/cardano/keys/kes.skey`: replace `/cardano/keys/kes.skey` with the path to your Cardano `KES Secret Key` file
* `OPERATIONAL_CERTIFICATE_PATH=/cardano/cert/opcert.cert`: replace `/cardano/cert/opcert.cert` with the path to your Cardano `Operational Certificate` file
* `DB_DIRECTORY=/cardano/db`: replace `/cardano/db` with the path to the database folder of the **Cardano Node** (the one in `--database-path`)
Expand All @@ -167,20 +156,10 @@ Replace this value with the correct user. We assume that the user used to run th
* `DATA_STORES_DIRECTORY=/opt/mithril/stores`: replace with the path to a folder where the **Mithril Signer** will store its data (`/opt/mithril/stores` e.g.)
* `STORE_RETENTION_LIMIT`: if set, this will limit the number of records in some internal stores (5 is a good fit).

* **Deprecated mode**: in the `/opt/mithril/mithril-signer/service.env` env file:
* `PARTY_ID=YOUR_POOL_ID_BECH32`: replace `YOUR_POOL_ID_BECH32` with your BECH32 `Pool Id`
* `DB_DIRECTORY=/cardano/db`: replace `/cardano/db` with the path to the database folder of the **Cardano Node** (the one in `--database-path`)
* `CARDANO_NODE_SOCKET_PATH=/cardano/ipc/node.socket`: replace with the path to the IPC file (`CARDANO_NODE_SOCKET_PATH` env var)
* `CARDANO_CLI_PATH=/app/bin/cardano-cli`: replace with the path to the `cardano-cli` executable
* `DATA_STORES_DIRECTORY=/opt/mithril/stores`: replace with the path to a folder where the **Mithril Signer** will store its data (`/opt/mithril/stores` e.g.)
* `STORE_RETENTION_LIMIT`: if set, this will limit the number of records in some internal stores (5 is a good fit).

:::

First create an env file that will be used by the service:

* **Stable mode**:

```bash
sudo bash -c 'cat > /opt/mithril/mithril-signer.env << EOF
KES_SECRET_KEY_PATH=**YOUR_KES_SECRET_KEY_PATH**
Expand All @@ -196,22 +175,6 @@ STORE_RETENTION_LIMIT=5
EOF'
```

* **Deprecated mode**:

```bash
sudo bash -c 'cat > /opt/mithril/mithril-signer.env << EOF
PARTY_ID=**YOUR_POOL_ID_BECH32**
NETWORK=**YOUR_CARDANO_NETWORK**
AGGREGATOR_ENDPOINT=**YOUR_AGGREGATOR_ENDPOINT**
RUN_INTERVAL=60000
DB_DIRECTORY=/cardano/db
CARDANO_NODE_SOCKET_PATH=/cardano/ipc/node.socket
CARDANO_CLI_PATH=/app/bin/cardano-cli
DATA_STORES_DIRECTORY=/opt/mithril/stores
STORE_RETENTION_LIMIT=5
EOF'
```

Then we will create a `/etc/systemd/system/mithril-signer.service` description file for our service

```bash
Expand Down
2 changes: 1 addition & 1 deletion mithril-aggregator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-aggregator"
version = "0.2.0"
version = "0.2.1"
description = "A Mithril Aggregator server"
authors = { workspace = true }
edition = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion mithril-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-client"
version = "0.2.0"
version = "0.2.1"
description = "A Mithril Client"
authors = { workspace = true }
edition = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion mithril-signer/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-signer"
version = "0.2.0"
version = "0.2.1"
description = "A Mithril Signer"
authors = { workspace = true }
edition = { workspace = true }
Expand Down

0 comments on commit 72978a9

Please sign in to comment.