The preferred way to run Fedimint is with multiple guardian servers working together in a federation. Fedimint is
built to be Byzantine Fault Tolerant, meaning it can continue functioning even if some guardians act maliciously.
Specifically, a federation with 3m + 1
guardians can tolerate up to m malicious guardians. For example:
• A federation with 4 guardians can handle 1 malicious guardian.
• A federation with 7 guardians can handle 2 malicious guardians.
You can also run Fedimint in solo mode with just one guardian. While this is useful for testing or development, it is not recommended for real-world use since it lacks the resilience of a federation with multiple guardians.
To support Lightning payments, Fedimint requires a Lightning Gateway. This is a participant in the federation that swaps ecash for sending and receiving Lightning payments. Note that the Lightning Gateway is not a guardian—it’s an untrusted economic actor that interacts with the federation.
Using an existing Fedimint federation as an user is easy and comes down to downloading a client application on a device like a phone.
Setting up and maintaining Federation is more challenging as it requires better understanding of its architecture and handling of its server side components.
In near future we expect many hosted Fedimint solutions, which should make setting up federations relatively easy.
Self-hosting your own federation is preferable. It is very similar to self-hosting any other software and requires some technical understanding in this area.
What federation really is are 4 or more Guardians independently running fedimintd
node software.
A fedimintd
setup requires:
- setting DNS domain
- prunned
bitcoind
node - TLS termination software like
caddy
ornginx
In addition, a practical federation requires a Lightning Gateway to join the federation, and someone needs to set it up and run, though one gateway can join and server multiple federations.
A ln-gateway
setup requires:
- an unprunned
bitcoind
node - possibly setting up lightning node
Due to diverse nature of server-side software, it is impossible to come up with a single guide that would cover all scenarios. We are trying to create and maintain guides and solutions for variety of cases.
./docker
directory - for information regarding Docker support.- Fedimint NixOS Deployment Repo - an example template for setting up Fedimint using NixOS server.
- Fedimint Mutinynet Setup Guide - a detailed guide setting up both Fedimint and Lightning Gateway using
docker
.
For help please try Fedimint Github Discussions
or #mint-ops
channel on Fedimint's Discord server.