In Duniter v2 you can only forge blocks if your identity is smith (see glossary). This page guides you to get the smith status. If you previously followed the run a smith node tutorial, you will be able to enable forging blocks. The steps to complete are the following one:
- become member of the main web of trust
- read and understand the smith licence
- request smith membership with the
- get enough certifications from other smith
- claim membership to the authorities with
- set session keys with
- start forging blocks with
This process is detailed below.
Table of contents
Become member of the main web of trust🔗
Duniter is based on human trust without implying peculiary interest. Therefore, there is no need to own a large quantity of currency to take part to the blockchain authoring, only to be part of the main web of trust. This implies having read and accepted the Ğ1 licence and getting certified by other wot members (see g1 documentation). Having a unique digital identity entails you can only have one smith identity.
Read and understand the smith licence🔗
The smith licence defines the rules to certify a new Duniter smith. These rules aim to garantee a good operation of Duniter blockchain by making sure that the new smith knows the rules applying to this role and that other smiths trust his/her ability to apply them.
Request smith membership🔗
Before getting smith certifications, you have to declare your wish to become smith by calling the
smithsMembership.requestMembership() extrinsic (see runtime calls reference).
The membership request is only valid for one month.
Get enough certifications from other smith🔗
The minimum number of received certifications to become smith depends on the runtime. Currently it is:
- 3 for ĞDev
- 5 for Ğtest and Ğ1 runtimes
A smith is only able to become an authority (see glossary) once he/she get enough certifications before the membership request expiration.
Claim membership to the authorities🔗
smithsMembership.claimMembership() extrinsic to get added to the list of authorities.
Set session keys🔗
Once you are member of the smith sub wot, you are allowed to declare session keys with
authorityMembers.set_session_keys(). The argument of
set_session_keys is a pubkey, make sure your smith node has the corresponding session keys!
You can do it with a client like polkadotjs app (more manual) or Ğcli (has helper commands).
Start forging blocks🔗
authorityMembers.goOnline(), you can double-check that your validator node actually has the session keys you declared and is syncrhonized to the network. Otherwise you will be unable to add blocks and will generate BABE offenses.
Once you are smith, you must:
- not stay offline more than 2400 sessions (~3 month)
- not lose your main wot membership (renew membership)
- not lose your smith membership (renew membership)
- not trigger offenses (TODO document)
Otherwise, you will be excluded from the smith.