Skip to content

Commit

Permalink
Merge pull request #1051 from input-output-hk/jpraynaud/1049-spo-on-b…
Browse files Browse the repository at this point in the history
…oarding-guide

Add SPO On-boarding Guide
  • Loading branch information
jpraynaud authored Jul 12, 2023
2 parents e9719b1 + aa2e0f9 commit 12e3af1
Show file tree
Hide file tree
Showing 16 changed files with 290 additions and 92 deletions.
5 changes: 4 additions & 1 deletion docs/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ const config = {
announcementBar: {
id: 'announcement',
content:
'We are actively looking for SPO candidates to test Mithril on the Cardano testnet. Contact us <a rel="noopener noreferrer" href="https://contact.mithril.network/" target="_blank">here</a> if you are interested!',
'Participate in Mithril Protocol’s Mainnet Beta Launch! Follow our SPO on-boarding guide <a rel="noopener noreferrer" href="https://mithril.network/doc/manual/getting-started/SPO-on-boarding-guide">here</a> if you are interested!',
backgroundColor: '#2e8555',
textColor: '#f1f1f1',
isCloseable: true,
Expand Down Expand Up @@ -204,6 +204,9 @@ const config = {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
mermaid: {
theme: { light: 'base', dark: 'base' },
},
}),
markdown: {
mermaid: true,
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "mithril-doc",
"version": "0.1.18",
"version": "0.1.19",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
Expand Down
96 changes: 96 additions & 0 deletions docs/root/manual/getting-started/SPO-on-boarding-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
sidebar_position: 1
---

import NetworksMatrix from '../../networks-matrix.md';
import CompiledBinaries from '../../compiled-binaries.md'

# SPO On-boarding Guide

## The journey with Mithril toward `mainnet`

Welcome to Mithril! Here is a description of the journey you will have to follow as a SPO in order to get ready for running a **Mithril Signer** in the `mainnet`.
We are assuming that you are already an active SPO on the Cardano `mainnet` and at least on the `preprod` testnet.

<!---
This diagram randomly crashes. We replace it with screeenshot until aif xi s available
TODO: revert this modification when it is possible
```mermaid
timeline
section Cardano Preview
SPO Pioneer Program : Optional : SPO test Mithril distributions pre-release with IOG : Run Mithril Signer in `pre-release-preview` network : Naive or Production deployment : ~2-3 days
section Cardano Preprod
SPO Beta Mainnet Preparation : Mandatory : SPO validates that Mithril is working in test environment : Run Mithril Signer in `release-preprod` network : Production deployment : ~10-15 days
section Cardano Mainnet
SPO Beta Mainnet Deployment : Mandatory : SPO runs Mithril in their mainnet infrastructure : Run Mithril Signer in `release-mainnet` network : Production deployment : ~10-15 days
```
-->
![SPO On-boarding Timeline](images/spo-onboarding-timeline.png)

## Step 1: Participate to the Pioneer Program

:::info

This step is **optional**, but recommended as it helps us deliver quality software. We are actively looking for SPO candidates to test Mithril on the Cardano testnets. Contact us [here](https://contact.mithril.network/) if you are interested!

:::

In order to participate to the Pioneer Program, you will need to:
- Register to the **Mithril SPO Pioneer Program** with this [form](https://contact.mithril.network/).
- Run an active SPO on the Cardano `preview` network (registered for a least `1` epoch or `1` day).
- Setup a **Mithril Signer** node on the `pre-release-preview` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You can run at your convenience the **Naive** (easier to setup) or the **Production** deployment model.
- Wait for `2` epochs (or `2` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.pre-release-preview.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases?q=pre) for new pre-releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Step 2: Get Mithril ready for `mainnet`

:::warning

This step is **mandatory**. You must complete it before moving forward to **Step 3**.

:::

In order to get ready for `mainnet`, you need to:
- Run an active SPO on the Cardano `preprod` network (registered for a least `1` epoch or `5` days).
- Setup a **Mithril Signer** node on the `release-preprod` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You **must** run the **Production** deployment model.
- Wait for `2` epochs (or `10` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-preprod.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Step 3: Run Mithril on the `mainnet`

:::warning

This step is **mandatory**. You must have completed **Step 2** before.

The `release-mainnet` is not available yet, you will be notified when the service is opened.

:::

In order to run **Mithril** on the `mainnet`, you need to:
- Run an active SPO on the Cardano `mainnet` network (registered for a least `1` epoch or `5` days).
- Setup a **Mithril Signer** node on the `release-mainnet` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You **must** run the **Production** deployment model.
- Wait for `2` epochs (or `10` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-mainnet.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Configuration Parameters

:::note Mithril Networks

<NetworksMatrix />

:::
2 changes: 1 addition & 1 deletion docs/root/manual/getting-started/bootstrap-cardano-node.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 2
---

import NetworksMatrix from '../../networks-matrix.md';
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/root/manual/getting-started/run-mithril-devnet.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 3
sidebar_position: 4
---

# Run a Private Mithril network
Expand Down
2 changes: 1 addition & 1 deletion docs/root/manual/getting-started/run-signer-node.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
---

import NetworksMatrix from '../../networks-matrix.md';
Expand Down
11 changes: 7 additions & 4 deletions docs/versioned_docs/version-maintained/compiled-binaries.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ hide_title: true
hide_table_of_contents: true
---

## Download compiled binary
Each Release / Pre-Release distribution comes with pre compiled binaries ready to use or wrapped in a debian package
for linux¹.

Each Release / Pre-Release distribution comes with pre compiled binaries ready to use or wrapped in a debian package.
You can download them from the Release / Pre-Release distribution page that depends on the Mithril Network you
are targeting.

You can download them from the Release / Pre-Release distribution page that depends on the Mithril Network you are targeting.
These links are available in the **Build From** column of the above **Mithril Networks** table.

These links are available in the **Build From** column of the above **Mithril Networks** table.
¹ The Linux binaries target `glibc`, and have a minimum requirement of `glibc 2.35` (compatible with `Ubuntu 22.04`
or `Debian Bookworm`).
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ This is the node of the **Mithril Network** responsible for collecting individua

* Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev`

* Ensure SQLite3 library is installed on your system and its version is at least `3.40`. Run `sqlite3 --version` to check your version.

## Download source

Download from GitHub (HTTPS)
Expand Down Expand Up @@ -372,6 +370,8 @@ If you want to dig deeper, you can get access to several level of logs from the
:::


## Download pre-built binary

<CompiledBinaries />

## Build and run Docker container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ This is the node of the **Mithril Network** responsible for producing individual

* Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev`

* Ensure SQLite3 library is installed on your system and its version is at least `3.35` (released Apr. 2021) on Debian/Ubuntu: `apt install libsqlite3` and `sqlite3 --version`.

## Download source

Download from GitHub (HTTPS)
Expand Down Expand Up @@ -170,6 +168,8 @@ If you want to dig deeper, you can get access to several level of logs from the

:::

## Download pre-built binary

<CompiledBinaries />

## Build and run Docker container
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
sidebar_position: 1
---

import NetworksMatrix from '../../networks-matrix.md';
import CompiledBinaries from '../../compiled-binaries.md'

# SPO On-boarding Guide

## The journey with Mithril toward `mainnet`

Welcome to Mithril! Here is a description of the journey you will have to follow as a SPO in order to get ready for running a **Mithril Signer** in the `mainnet`.
We are assuming that you are already an active SPO on the Cardano `mainnet` and at least on the `preprod` testnet.

<!---
This diagram randomly crashes. We replace it with screeenshot until aif xi s available
TODO: revert this modification when it is possible
```mermaid
timeline
section Cardano Preview
SPO Pioneer Program : Optional : SPO test Mithril distributions pre-release with IOG : Run Mithril Signer in `pre-release-preview` network : Naive or Production deployment : ~2-3 days
section Cardano Preprod
SPO Beta Mainnet Preparation : Mandatory : SPO validates that Mithril is working in test environment : Run Mithril Signer in `release-preprod` network : Production deployment : ~10-15 days
section Cardano Mainnet
SPO Beta Mainnet Deployment : Mandatory : SPO runs Mithril in their mainnet infrastructure : Run Mithril Signer in `release-mainnet` network : Production deployment : ~10-15 days
```
-->
![SPO On-boarding Timeline](images/spo-onboarding-timeline.png)

## Step 1: Participate to the Pioneer Program

:::info

This step is **optional**, but recommended as it helps us deliver quality software. We are actively looking for SPO candidates to test Mithril on the Cardano testnets. Contact us [here](https://contact.mithril.network/) if you are interested!

:::

In order to participate to the Pioneer Program, you will need to:
- Register to the **Mithril SPO Pioneer Program** with this [form](https://contact.mithril.network/).
- Run an active SPO on the Cardano `preview` network (registered for a least `1` epoch or `1` day).
- Setup a **Mithril Signer** node on the `pre-release-preview` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You can run at your convenience the **Naive** (easier to setup) or the **Production** deployment model.
- Wait for `2` epochs (or `2` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.pre-release-preview.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases?q=pre) for new pre-releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Step 2: Get Mithril ready for `mainnet`

:::warning

This step is **mandatory**. You must complete it before moving forward to **Step 3**.

:::

In order to get ready for `mainnet`, you need to:
- Run an active SPO on the Cardano `preprod` network (registered for a least `1` epoch or `5` days).
- Setup a **Mithril Signer** node on the `release-preprod` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You **must** run the **Production** deployment model.
- Wait for `2` epochs (or `10` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-preprod.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Step 3: Run Mithril on the `mainnet`

:::warning

This step is **mandatory**. You must have completed **Step 2** before.

The `release-mainnet` is not available yet, you will be notified when the service is opened.

:::

In order to run **Mithril** on the `mainnet`, you need to:
- Run an active SPO on the Cardano `mainnet` network (registered for a least `1` epoch or `5` days).
- Setup a **Mithril Signer** node on the `release-mainnet` Mithril network by following the [**Run a Mithril Signer node (SPO)**](run-signer-node.md) guide.
- You **must** run the **Production** deployment model.
- Wait for `2` epochs (or `10` days) before your **Mithril Signer** is eligible to contribute.
- Verify that your **Pool Id** is listed in some of the produced certificates with the [**Mithril Explorer**](https://mithril.network/explorer?aggregator=https%3A%2F%2Faggregator.release-mainnet.api.mithril.network%2Faggregator).
- :warning: Follow our [**#moria**](https://discord.gg/5kaErDKDRq) discord channel or our [**GitHub repository**](https://github.com/input-output-hk/mithril/releases/latest) for new releases to install.
- Feel free to ask questions about any technical issue and/or provide feedback on the [**#moria**](https://discord.gg/5kaErDKDRq) discord channel.

Each **Mithril Network** has its own configuration, which is accessible in the [Configuration Parameters](#configuration-parameters) section of this guide.

## Configuration Parameters

:::note Mithril Networks

<NetworksMatrix />

:::
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 2
---

import NetworksMatrix from '../../networks-matrix.md';
Expand Down Expand Up @@ -156,6 +156,8 @@ If you want to dig deeper, you can get access to several level of logs from the

:::

## Download pre-built binary

<CompiledBinaries />

## Run Docker container
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
@@ -1,5 +1,5 @@
---
sidebar_position: 3
sidebar_position: 4
---

# Run a Private Mithril network
Expand Down Expand Up @@ -39,8 +39,6 @@ More information about this private Cardano/Mithril `devnet` is available [here]

* Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev`

* Ensure SQLite3 library is installed on your system and its version is at least `3.40`. Run `sqlite3 --version` to check your version.

## Download source

Download from GitHub (HTTPS)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
---

import NetworksMatrix from '../../networks-matrix.md';
Expand Down Expand Up @@ -81,8 +81,6 @@ This guide is working only on a Linux machine.

* Install OpenSSL development libraries, for example on Ubuntu/Debian/Mint run `apt install libssl-dev`

* Ensure the SQLite3 version is at least `3.35` (released Apr. 2021)

* Install a recent version of `jq` (version `1.6+`) `apt install jq`

* Only for the **production** deployment, install a recent version of [`squid-cache`](http://www.squid-cache.org/) (version `5.2+`) `apt install squid`
Expand Down Expand Up @@ -141,6 +139,8 @@ Build executable
make build
```

### Download pre-built binary

<CompiledBinaries />

### Verify binary
Expand Down
Loading

0 comments on commit 12e3af1

Please sign in to comment.