Video Overview
This 2-minute video covers the entire setup ceremony end-to-end as the Setup Leader. In this example, the guardians use a SimpleX group chat to coordinate throughout the process.
Step-by-Step Breakdown
Getting Started
Before kicking off the ceremony, ensure that:
- Each guardian has provisioned their server and is on the Guardian Setup Page.
- You have a secure way to communicate like Signal or SimpleX.
- You will need to share verification codes with one another to complete the ceremony as a check that you are all safely connected before initializing the consensus mechanism.
- The leader has the meta configurations for the federation ready to go.
- For a complete list of Fedi's supported meta fields, see Fedi's Meta Fields.
- All guardians are ready to run the ceremony.
- Key generation is a synchronous process, so all guardians must be online at the same time.
- If the leader starts the ceremony before the other guardians are ready, the ceremony will likely fail and you will have to start over.
- As a best practice, the leader should send a group message to make sure that everyone is ready to carry out the ceremony before starting.
- Once all of the above is ready to go, select "Setup Leader" and click "Next" on the first page.
Inputting the Federation Details
The only material difference between the Leader and Followers is that the Leader inputs the consensus metadata, which is then verified by the Followers. These are the parameters used to configure the Fedimint consensus. The Leader should input the following parameters:
- Guardian Name: A unique name that identifies the guardian
-
Admin Password: Strong secret password used to encrypt the guardian's private key
- Note - This password is not recoverable; losing it means losing access to the guardian server.
- Federation Name: Name of the federation; should be easily identifiable by your community
-
Bitcoin Network & RPC: Bitcoin network the mint will run on and where to get block data from
- Clovyr defaults to Mutinynet for the network & Mutinynet.com Esplora API for the RPC, but you can change this to Mainnet and your own Explora API if running the mint on Mainnet.
- Note - Clovyr also supports running pruned or full bitcoin nodes; contact us if interested.
-
Block Confirmations: Number of block confirmations required for on-chain deposits
- Never set block confirmations below 6 if running on Mainnet; we recommend 10 by default. 3+ confirmations are fine if running the mint on Mutinynet or another Signet.
-
Note - Fedimint's Peg-In mechanism for on-chain deposits cannot handle reorganizations, so its "consensus_block_height" trails the chain tip by a number of blocks to minimize this risk.
- Setting confirmations too low is very risky as it can result in peg-in deposits being reorganized, causing the federation to become fractionally reserved.
-
Number of Guardians: Total number of guardians including the setup ceremony leader
- We recommend Byzantine Fault Tolerance consensus sizes (4, 7, 10, etc) based on what works best for your community.
- Note - Fedimint does not currently support changing the number of guardians after setup.
-
Meta Fields: Optional fields used to incorporate additional metadata (federation icon, mods, etc)
- For a complete list of Fedi's supported meta fields, see Fedi's Meta Fields.
- Note - These cannot be changed after the ceremony, but Fedimint does have an option to set a "meta_override_url" which points client applications to a separate metadata file that can be updated after the setup ceremony.
Running Distributed Key Generation
After inputting the metadata, the next step is to run the distributed key generation:
- The leader kicks off the ceremony by clicking "Next" to create a WebSocket link.
- Example - wss://some-random-strings.wnext.app/
- The leader sends this link to the followers, which they use to join the ceremony.
- As the followers join, the leader will see their names appear under "Federation Guardians."
- As each guardian reviews and verifies the metadata, their name will flip to "Approved."
- Once all guardians have connected and approved the metadata, the fedimint servers will generate the keys for the federation.
- This is a synchronous process that takes 30-60 seconds once "Generating Codes" is shown.
Verifying the Key Generation
Once key generation is complete, each guardian will share their verification code with the others as a check that all are connected to the same ceremony and that the key generation was successful.
- Each guardian should copy and paste their verification code into the group chat.
- The other guardians should copy and paste those codes into their dashboards next to the respective guardian's name to ensure they match.
- If the codes match, a green "Verified" or checkmark will appear next to the guardian's name.
- If the codes do not match, a red "Unverified" or X will appear next to the guardian's name.
- If you see this, clear the input and ensure you copied the code correctly; remove any extra spaces or characters that may have been picked up when copying from the chat app.
- Once all guardians have verified all codes, the "Next" button will show, finishing the ceremony.
Wrapping Up
Congratulations! You have now successfully completed the setup ceremony and started your community federation. At this point, there is no distinction between you as the leader and the followers; you are all equal guardians of the newly created mint.
Comments
Please sign in to leave a comment.