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 configurations set for the federation. 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, etc (see the leader guide 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-text.wnext.app/ws/
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 configuration and verifies that it's correct, to Approved
when they're ready to proceed.
Enter the websocket link in the Join Federation link field.
Confirm your Guardian Details
As a follower, you should review the settings below::
- Bitcoin Settings - Environment Variables: These correspond to the settings you configured when Provisioning a Guardian and cannot be changed from the UI. Carefully review these settings before proceeding. If you need to make changes, you can provision a new server and start over from the beginning of this guide.
- Guardian Name: A random guardian name is generated by default. You can change his to anything you like but it should be unique so it is not confused with other guardian names during the setup ceremony. This name cannot be changed after the setup ceremony.
- Admin Password: The password is used to encrypt the guardian's private key, so it should be kept secret and not shared with anyone. Make sure that no one is watching your screen while you reveal the password to copy it to safe place.
The password is not recoverable, so if you lose it you won't be able to access your fedimint guardian server!
Carefully read ALL of the following prompts to confirm that you have saved your password in a secure location.
Verify the Leader's Configuration
Once you've entered the websocket link, confirmed your guardian details, & backed up your password, you'll join the ceremony by clicking Next
and see the configurations set by the leader.
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 Approve
to advance to the next screen showing the Generating Codes
message followed by a Waiting for peers
message 10-15 seconds later.
At this point, the leader will see the status of your guardian switch from Pending
to Approved
.
Once all the guardians have connected and approved, the Fedimint servers will generate the keys for the federation.
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.