Follower Fedimint Setup Guide
Fedimint Guardians have to run a 'setup ceremony' to generate their keys and start the Fedimint consensus. This ceremony is a one-time process that is required to start the Fedimint, and is the only time that the guardians will need to be online at the same time. Once the ceremony is complete, Guardians can simply leave the server running with no further intervention required, just monitoring to ensure that it's online and healthy.
The setup ceremony follows a leader-follower model: the Setup Leader inputs the consensus configuration parameters like Name, Block Confirmations, etc, and kicks off the ceremony. Followers join the ceremony and verify the leader's configuration. There is no functional difference between the leader and the followers, and the leader can be any of the guardians. The leader is simply the first guardian to join the ceremony and inputs the consensus settings.
Here's a 2 minute end-to-end video of the setup ceremony as the Follower, using a SimpleX group chat to coordinate among the gaurdians. We'll walk through it step by step below.
Following the Setup Ceremony
The setup ceremony is a one-time process that is required to start the Fedimint where you'll connect the guardians and generate the keys for the Fedimint. Before getting started, make sure that:
- You have your server provisioned and are on the Guardian Setup Page (the one that says "Let's build a Fedimint!")
- You have a secure way to communicate with the other guardians like a Signal or SimpleX group chat. You'll need to share verification codes with each other to complete the ceremony as a check that you're all safely connected before kicking off the consensus.
- The Setup Leader is ready to start the ceremony with the meta configuration for the federation (including chat server url if you're going to be deploying with chat!). The leader will kick off the ceremony, and you'll join it using the link that they send you.
Select the Follower
option and click Next
to start the setup ceremony.
Get the websocket link from the leader
The leader will kick off the ceremony by setting the configuration settings for the federation: name, bitcoin settings, meta fields, etc (see below for more details). Once they're set, the leader will send you a websocket link that you'll input. It'll look something like this:
wss://some-random-strings.wnext.app/
The leader sends this link to the followers, and they use it to join the ceremony. As the followers join, the leader will see their names appear on the screen under Federation Guardians and flip from Pending
, while the guardian reviews the metadata and verifies that it's correct, to Approved
when they're ready to proceed.
Input your Guardian Details and the Websocket Link
As a follower, you'll input the following parameters:
- Guardian Name and Password: The name and password of the guardian. This should be a unique name that identifies the guardian, and a strong password that is kept secret. The password is used to encrypt the guardian's private key, so it should be kept secret and not shared with anyone.
The password is not recoverable, so if you lose it you won't be able to access your fedimint guardian server!
- Bitcoin Network and RPC: The Bitcoin network that you're running on and where to get block data from. Clovyr defaults to mutinynet for the network and the Mutinynet.com Esplora API for the RPC, but you can change this to mainnet and your own Explora API if you're running on mainnet. Clovyr CAN support running pruned or full bitcoin nodes for Fedimint, if you're interested in this please let us know!
- Websocket Link The websocket link that the leader sent you. This should be in the format
wss://some-random-strings.wnext.app/
and will be unique for your ceremony.
Verify the Leader's Metadata
Once you've input your guardian details and the websocket link, you'll join the ceremony and see the leader's metadata. For a complete list of Fedi's supported meta fields, see Fedi's Meta Fields. You should verify that the metadata is correct, and that you're happy with the configuration. If you're not happy with the configuration, you can leave the ceremony and inform the leader that you're not ready to proceed. If you're happy with the configuration, click Next
, and you'll switch your status from Pending
to Approved
and see a loading screen while the other guardians join and approve the metadata.
Once all the guardians have connected and approved, the Fedimint servers will generate the keys for the federation. This is a synchronous process and should take 10-15 seconds once you see Generating Codes
.
Verify the Key Generation
Once the key generation is complete, each guardian will have to give their verification code to the other guardians. This is a check that the guardians are all 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, and the other guardians should verify that the codes match by pasting them into the dashboard next to that guardian's name. If the codes match, a green Verified
or checkmark will appear next to the guardian's name. If the codes don't match, a red Unverified
or X will appear next to the guardian's name. Make sure you copy the codes correctly and strip out any extra spaces or characters that might've been picked up when copying from the chat app!
Once all guardians have verified all the codes, their dashboards' Next
button will enable, completing the ceremony.
Congratulations! You're now a Fedimint Guardian!
You've successfully completed the setup ceremony and started the Fedimint for your community! At this point there is no distinction between the leader and followers, you're all equal guardians of the Fedimint. Your Fedimint server can be left running, and you can monitor it's health and status on the dashboard. You can use the Invite Code (text or QR) to invite Fedi users and Gateways to connect to your Fedimint. See the Maintain Your Guardian Documentation for more details.