Skip to content

Commit

Permalink
docs: re organize user manual section in docs website
Browse files Browse the repository at this point in the history
  • Loading branch information
jpraynaud committed Nov 7, 2024
1 parent b725d10 commit 2471c74
Show file tree
Hide file tree
Showing 29 changed files with 121 additions and 107 deletions.
27 changes: 27 additions & 0 deletions docs/website/root/manual/develop/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Develop
---

import DocCardList from "@theme/DocCardList";

The Mithril network consists of three main components:

- **Mithril aggregator**:

This node coordinates the production of the Cardano snapshot archives, working alongside the Mithril signer and Cardano nodes to generate associated certificates using Mithril multi-signatures.

- **Mithril signer**:

This node produces individual signatures, which the Mithril aggregator combines into a multi-signature. It operates in conjunction with a Cardano node (run by an SPO) holding stake in the network.

- **Mithril client**:

This node verifies and restores a snapshot along with other types of data, facilitating lightning-fast bootstrapping of a Cardano full node.

<DocCardList />

:::tip

For more information about the Mithril protocol, refer to the [about Mithril](../mithril-protocol/protocol.md) section.

:::
6 changes: 6 additions & 0 deletions docs/website/root/manual/develop/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"label": "Develop",
"collapsible": true,
"collapsed": false,
"position": 4
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
sidebar_position: 3
sidebar_label: Simulation
---

# Mithril protocol simulation
# Protocol simulation

:::info

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

import NetworksMatrix from '../../networks-matrix.md';
Expand All @@ -18,11 +18,7 @@ To learn more about the **Mithril protocol**, please refer to the [about Mithril

:::

## Mithril networks

<NetworksMatrix />

## A list of dependencies
## List of dependencies

| Dependency | Description | Source repository | Rust documentation | Published | REST API |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :----------------------------------------: |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
sidebar_position: 4
sidebar_position: 2
---

# Run a private Mithril network
# Run a private network

:::info

Expand Down
10 changes: 0 additions & 10 deletions docs/website/root/manual/developer-docs/_category_.json

This file was deleted.

9 changes: 9 additions & 0 deletions docs/website/root/manual/getting-started/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Getting Started
---

import DocCardList from "@theme/DocCardList";

This section is for users looking to utilize Mithril snapshots to accelerate the bootstrapping and synchronization of Cardano nodes. It outlines the prerequisites and provides a step-by-step tutorial for setting up the environment and bootstrapping a node.

<DocCardList />
6 changes: 1 addition & 5 deletions docs/website/root/manual/getting-started/_category_.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,5 @@
"label": "Getting Started",
"collapsible": true,
"collapsed": false,
"position": 2,
"link": {
"type": "generated-index",
"title": "Getting Started Topics"
}
"position": 2
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
sidebar_position: 2
sidebar_position: 3
---

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

# Bootstrap a Cardano node
Expand All @@ -13,12 +12,6 @@ With the **Mithril client** connected to a **Mithril aggregator**, you can resto

:::

:::note Mithril networks

<NetworksMatrix />

:::

## Pre-requisites

Before proceeding with the installation, ensure that you have the following pre-requisites in place:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 2
---

import NetworksMatrix from '../../networks-matrix.md';

# Network configurations

<NetworksMatrix />
22 changes: 22 additions & 0 deletions docs/website/root/manual/getting-started/prerequisites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
sidebar_position: 1
---

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

# Prerequisites

To begin the setup, ensure the following components and tools are installed:

- A Linux (preferred) or macOS computer

- A [correctly configured](https://www.rust-lang.org/learn/get-started) Rust toolchain (latest stable version)

- A recent version of [Docker Engine](https://docs.docker.com/engine/install/)

- A recent version of [Docker Compose](https://docs.docker.com/compose/install/)

- A recent version of [`jq`](https://stedolan.github.io/jq/) (1.6+)

These requirements will help ensure a smooth setup and configuration process.
9 changes: 9 additions & 0 deletions docs/website/root/manual/operate/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Operate
---

import DocCardList from "@theme/DocCardList";

As a stake pool operator (SPO), you can participate in the Mithril network to help maintain it by creating multi-signatures for blockchain snapshots. To do this, you will need to join the Mithril network as an active SPO and run a Mithril signer node.

<DocCardList />
6 changes: 6 additions & 0 deletions docs/website/root/manual/operate/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"label": "Operate",
"collapsible": true,
"collapsed": false,
"position": 3
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 1
import NetworksMatrix from '../../networks-matrix.md';
import CompiledBinaries from '../../compiled-binaries.md'

# SPO onboarding guide
# Become a Mithril SPO

## The journey with Mithril toward `mainnet`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,9 @@
sidebar_position: 3
---

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

# Run a Mithril signer as an SPO

:::note Mithril networks

<NetworksMatrix />

:::
# Run a Mithril signer node

:::tip

Expand Down
77 changes: 13 additions & 64 deletions docs/website/root/manual/welcome.md
Original file line number Diff line number Diff line change
@@ -1,78 +1,27 @@
---
sidebar_position: 1
sidebar_label: Welcome
---

# User manual
# Welcome

Welcome to the **Mithril** user manual!
Mithril is a stake-based multi-signature protocol designed to enhance blockchain efficiency and scalability. By enabling the secure aggregation of cryptographic signatures, it addresses the need for fast synchronization of Cardano nodes and state validation without compromising decentralization or security.

Let's discover **Mithril in less than five minutes**.
Mithril achieves this by generating snapshots of the blockchain state, which can be certified using aggregated signatures. These signatures rely on a lottery mechanism proportional to stake, ensuring that a quorum of the network participates. This multi-signature process reduces computational overhead, enabling light clients and applications to synchronize quickly and efficiently.

## Introduction
## Who is Mithril for?

A **Mithril network** consists of three main components:
Whether you are a stake pool operator (SPO), a full node user, or working with lightweight wallets, Mithril provides tools to streamline operations without compromising security.

- **Mithril aggregator**:
**Full node and wallet users.** Mithril’s certified snapshots enable the quick synchronization of a Cardano node. This allows bypassing the time-consuming process of verifying the entire blockchain from scratch, improving the startup experience for full nodes like Daedalus.

This node coordinates the production of the Cardano snapshot archives, working alongside Mithril signer and Cardano nodes to generate associated certificates using Mithril multi-signatures.
**Light clients and decentralized applications (DApps).** Light wallets, mobile apps, and sidechains can utilize Mithril snapshots for secure data synchronization. These snapshots allow clients to operate efficiently with fewer resources while maintaining security assurances.

- **Mithril signer**:
**Service providers and scaling protocols.** Mithril offers synchronization and interoperability solutions, enabling bridges and scaling protocols to stay updated with the blockchain state securely and with minimal overhead.

This node is responsible for producing individual signatures, which are then combined into a multi-signature by the Mithril aggregator. It operates in conjunction with a Cardano node (run by a stake pool operator (SPO)) holding stake in the network.
**SPOs.** SPOs can participate in creating multi-signatures for blockchain snapshots by running a Mithril signer. This contribution strengthens network security and supports faster node bootstrapping.

- **Mithril client**:
Dive into the manual to explore how to:

This node verifies and restores a snapshot, facilitating lightning-fast bootstrapping of a Cardano full node. It plays a crucial role in ensuring the efficiency of the network.

:::tip

For more information about the **Mithril protocol**, see this section [about Mithril](../mithril/intro.md).

:::

## Get started

To get started with the setup, make sure you have the following components and tools:

- A Linux (preferred) or macOS computer

- A [correctly configured](https://www.rust-lang.org/learn/get-started) Rust toolchain (latest stable version)

- A recent version of [Docker Engine](https://docs.docker.com/engine/install/)

- A recent version of [Docker Compose](https://docs.docker.com/compose/install/)

- A recent version of [`jq`](https://stedolan.github.io/jq/) (1.6+)

Having these requirements in place will enable you to proceed smoothly with the setup and configuration for your project.

## Read the user manual

In the [**Getting started**](/doc/category/getting-started) guide in the user manual, you will find tutorials for:

- [Bootstrapping a Cardano node](./getting-started/bootstrap-cardano-node.md) on `testnet`

- [Running a Mithril signer node as an SPO](./getting-started/run-signer-node.md) on `testnet`

- [Running a private Mithril network](./getting-started/run-mithril-devnet.md) on `devnet`

In the [**Developer docs**](/doc/category/developer-docs), you will find documentation for:

- The **Mithril network nodes**:

- [**Mithril aggregator node**](./developer-docs/nodes/mithril-aggregator.md) developer documentation
- [**Mithril signer node**](./developer-docs/nodes/mithril-signer.md) developer documentation
- [**Mithril client node**](./developer-docs/nodes/mithril-client.md) developer documentation

- The [API reference](./developer-docs/references.md) guide.

:::tip

If you need any assistance, don't hesitate to contact the **Mithril** team:

- [GitHub discussions](https://github.com/input-output-hk/mithril/discussions)

- [Stack Exchange](https://cardano.stackexchange.com/questions/tagged/mithril)

:::
- [set up](/doc/category/getting-started/)
- [operate](/doc/category/operate)
- and [develop](/doc/category/develop/) with Mithril.
12 changes: 11 additions & 1 deletion docs/website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,21 @@

/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
docSideBar: [
manualSideBar: [
{
type: "autogenerated",
dirName: "manual",
},
{
type: "link",
label: "Release notes",
href: "https://github.com/input-output-hk/mithril/releases",
},
{
type: "link",
label: "Support",
href: "https://discord.gg/5kaErDKDRq",
},
],
mithrilSideBar: [
{
Expand Down

0 comments on commit 2471c74

Please sign in to comment.