Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(docs): add ledger docs #142

Merged
merged 38 commits into from
Oct 6, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
1537529
feat(docs): add ledger docs
FelixNicolaeBucsa Sep 19, 2023
66cc6f6
edits: pulled content
FelixNicolaeBucsa Sep 19, 2023
f88b613
edits: added guides in guides for ledger
FelixNicolaeBucsa Sep 19, 2023
bb87722
fix: fixed conflicts and reorganised landing pages content
FelixNicolaeBucsa Sep 20, 2023
ee934bd
edits: started adding ledger guides in docs
FelixNicolaeBucsa Sep 20, 2023
b7ab385
edits: added all ledger guides missing. Only CLI guides missing for now.
FelixNicolaeBucsa Sep 20, 2023
039e465
edits: reviewed changes and content added yesterday in ledger guides
FelixNicolaeBucsa Sep 21, 2023
efede43
feat: added CLI guides in ledger docs
FelixNicolaeBucsa Sep 21, 2023
5474ae2
edits: edits to content. Created index for ledger docs in references
FelixNicolaeBucsa Sep 21, 2023
2d8c2ed
edits: small change
FelixNicolaeBucsa Sep 21, 2023
fe83ef7
edits: removed getting-tokens.mdx as duplicate guide
FelixNicolaeBucsa Sep 21, 2023
0827625
edits: addressed comments from Josh
FelixNicolaeBucsa Sep 21, 2023
e441454
edits
FelixNicolaeBucsa Sep 21, 2023
ccecfb6
edits: reviewed content and made edits
FelixNicolaeBucsa Sep 22, 2023
263714e
fix: solved conflicts
FelixNicolaeBucsa Sep 22, 2023
e5e6ed4
edits: ledger concepts and references sections
FelixNicolaeBucsa Sep 25, 2023
3331bf6
edits: edits to ledger guides
FelixNicolaeBucsa Sep 25, 2023
6fdad9d
edits: pulled content from master and solved conflicts
FelixNicolaeBucsa Sep 26, 2023
37d3f14
edits: changes to content
FelixNicolaeBucsa Sep 26, 2023
6dcbc1c
edits: integrated getting testnet tokens guide in featured guides for…
FelixNicolaeBucsa Sep 26, 2023
8837745
fix: solved conflicts and merged master branch
FelixNicolaeBucsa Sep 26, 2023
0da63a2
edits: fixed conflicts
FelixNicolaeBucsa Sep 26, 2023
e34ca47
edit: changes
FelixNicolaeBucsa Sep 26, 2023
0cb4adf
fix: solved conflicts
FelixNicolaeBucsa Sep 26, 2023
4357063
edits: general review and fixes
FelixNicolaeBucsa Sep 26, 2023
9d924bf
edits: fixed conflicts
FelixNicolaeBucsa Sep 26, 2023
6fb0f6c
edits: removed block explorer section
FelixNicolaeBucsa Sep 27, 2023
8045744
edits: edits to content and spelling and grammar.
FelixNicolaeBucsa Sep 27, 2023
83e8d6a
edits: changes and overall review
FelixNicolaeBucsa Oct 2, 2023
aec6254
fix: solved merging conflicts
FelixNicolaeBucsa Oct 4, 2023
8b3b387
Merge branch 'master' into feat/add-ledger-docs
devjsc Oct 5, 2023
47ff84c
edits: pulled content
FelixNicolaeBucsa Oct 5, 2023
7bb7f33
edits: pulled content
FelixNicolaeBucsa Oct 5, 2023
1f447a6
edits: changes
FelixNicolaeBucsa Oct 5, 2023
668729c
fix: solved conflict
FelixNicolaeBucsa Oct 5, 2023
b87587f
edits: review and change
FelixNicolaeBucsa Oct 6, 2023
56e3cec
fix: pulled content and solved conflicts
FelixNicolaeBucsa Oct 6, 2023
79fbc20
Merge branch 'master' into feat/add-ledger-docs
devjsc Oct 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions components/products.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -218,9 +218,9 @@ const items: { [key: string]: Item[] } = {
},
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved
{
title: "Ledger",
description: <>Coming soon.</>,
description: <>Get started with the Fetch Ledger.</>,
icon: ledgerIcon,
path: "",
path: "/concepts/ledger/intro",
},
],
};
Expand Down
38 changes: 38 additions & 0 deletions pages/concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,48 @@ import { GuideBox } from "../components/feature-guide-tabs";

</Grid2>

## Ledger

<div className="nx-text-fetch-content">
Explore the topics you need to know in order to prepare for and develop on the Fetch network.
</div>

<Grid2>

<GuideBox
content={{
title: "Introduction 🚀",
description: "Get yourself started with Fetch Ledger.",
path: "/concepts/ledger/intro"
}}
/>

<GuideBox
content={{
title: "Block explorers 🔎",
description: "Explore the block explorers associated with each network.",
path: "/concepts/ledger/block-explorer"
}}
/>

</Grid2>
<Grid2>

<GuideBox
content={{
title: "Validators overview",
description: "Explore the role of validators within the Fetch ecosystem.",
path: "/concepts/ledger/validators"
}}
/>

</Grid2>

## Indexer

<div className="nx-text-fetch-content">
Explore how to index and query blockchain data efficiently using the SubQuery indexer for the Fetch ledger.

</div>

<Grid2>
Expand Down
1 change: 1 addition & 0 deletions pages/concepts/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"agents": "uAgents",
"agent-services": "Agentverse Services",
"ai-engine": "AI Engine",
"ledger": "Ledger",
"indexer": "Indexer"
}
2 changes: 1 addition & 1 deletion pages/concepts/agents/_meta.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"agents": "Introduction",
"agents": "Introduction \uD83D\uDE80",
"rationale": "Why uAgents"
}
5 changes: 5 additions & 0 deletions pages/concepts/ledger/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"intro": "Introduction \uD83D\uDE80",
"block-explorer": "Block explorers \uD83D\uDD0E",
"validators": "Validators"
}
27 changes: 27 additions & 0 deletions pages/concepts/ledger/block-explorer.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { Callout } from 'nextra/components'

# Block explorer 🔎

Each of the available [networks ↗️](/concepts/ledger/active-networks) has a dedicated block explorer website associated with it. This is a useful tool for monitoring network activity.

## Logging in with the ledger nano
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

Return to the block explorer landing page and click on the key button in the top right corner. Here, you will be prompted to _Sign in With Ledger_. **You must accept this request on your ledger nano device**. After completing this process, the key button will be replaced by a person icon with a link to your personal address page, which keeps track of the activity that you have performed on the test-net.

## Getting testnet tokens from the faucet

For networks that support it, you can obtain tokens for your account by copying the address and pasting it into the token faucet. Then, return to the main page, press the **Get Funds** button and paste your address in the pop-up. Afterwards, you can return to your address page (via the person icon) and should observe that you have been allocated **1 TESTFET**.

## Transferring tokens to another address

After receiving tokens, you can send these to another address using the purple **Transfer** button on your address page. This will trigger a pop-up that prompts you to specify the destination address and the amount you wish to transfer. After filling in this information, you will be asked to sign the transaction using your ledger nano. The confirmation that the transaction has been broadcast gives two links that can be used to check that the transaction has been executed on the blockchain using either the transaction hash or your account page.

<Callout type="info" emoji="ℹ️">
The transaction format includes a memo field that can be used to check the transaction information on the ledger nano display.
</Callout>

## Delegating stake to a validator

You can delegate your test-net tokens to a validator who is operating the network by clicking on the **Validators** tab, and selecting one of the validators that you wish to delegate stake towards. In the **Voting Power** panel there is an option to **DELEGATE** tokens. Pressing this button will trigger a pop-up that prompts you to select a delegation amount and then sign the transaction with your Ledger Nano device.

Upon delegating tokens, buttons labeled **REDELEGATE** and **UNDELEGATE** will appear. Delegating tokens to a validator rewards you for helping to secure the network. If you wish to delegate to a different validator, you can do so through a **REDELEGATE** transaction. You can retrieve any bonded tokens to your address by submitting an **UNDELEGATE** request, which will return the tokens after a 21-day waiting period. The rewards you receive from delegating tokens to a validator are displayed on your account page and can be sent to your address through a **WITHDRAW** transaction.
19 changes: 19 additions & 0 deletions pages/concepts/ledger/intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Callout } from 'nextra/components'

# Ledger

## Mainnet is here!
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

The fetchhub mainnet forms the core of the Fetch.ai ecosystem. In these pages, you will find all information to setup your client and connect on the [network ↗️](/concepts/ledger/active-networks) and [CLI introduction ↗️](/guides/ledger/cli/intro) pages.

This documentation covers some of the things you need to know in order to prepare for and develop on this network.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

## Test networks

The starting point for most will be [our test network ↗️](/concepts/ledger/active-networks#test-nets), since it can provide you with test tokens with no value, that you can safely experiment with.

Head over the [Command Line client ↗️](/guides/ledger/cli/intro) section for guidance on how to install and configure the `fetchd` client.

<Callout type="warning" emoji="⚠️">
This documentation is currently under construction, and the content may not be up-to-date.
</Callout>
39 changes: 39 additions & 0 deletions pages/concepts/ledger/validators.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Validators

## Overview

The Fetch.ai Ledger relies on a set of validators that are responsible for committing new blocks in the blockchain. These validators participate in the consensus protocol by broadcasting votes which contain cryptographic signatures signed by each validator's private key.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

Validator candidates can bond their own FET and have FET delegated, or staked, to them by token holders. The validators are determined by who has the most stake delegated to them. The top N validator candidates with the most stake will become the active validators.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

Validators and their delegators will earn FET as block provisions and tokens as transaction fees through execution of the consensus protocol. Transaction fees will be paid in FET.

If validators double sign, are frequently offline or do not participate in governance, their staked FET (including FET of users that delegated to them) can be slashed. The penalty depends on the severity of the violation.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

## Hardware requirements

The hardware resources for running a validator node largely depend on the network load. As a recommended configuration we suggest the following requirements:

- 2 x CPU, either Intel or AMD, with the SSE4.1, SSE4.2 and AVX flags (use lscpu to verify).
- 8 GB RAM.
- 500 GB SSD.
- 100 Mbit/s always-on internet connection.
- Linux OS (Ubuntu 18.04 or 20.04 recommended)/MacOS.

Uptime in incredibly important for being a validator. It is expected that validators will have appropriate redundancies for compute, power, connectivity etc. While the blockchain itself it highly replicated it is also expected that validators will perform local storage backups in order to minimise validator down time.

## Set up a website

Set up a dedicated validator's website and signal your intention to become a validator on our [Discord ↗️](https://discord.com/invite/fetchai) server. This is important since delegators will want to have information about the entity they are delegating their FET to.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

Strictly speaking this is not necessary, however, it is recommended. As a validator on the network you will want to get other community users to delegate stake to your validator. The more combined stake that a validate has then the great share of the block rewards they will take.

## Seek Legal Advice

Seek legal advice if you intend to run a Validator.
FelixNicolaeBucsa marked this conversation as resolved.
Show resolved Hide resolved

## Community

We highly recommend to check out the validator community on the discord channel for more information and to see that latest announcements about becoming a validator.

* [Discord ↗️](https://discord.com/invite/fetchai)
Loading