Quick Start
This page takes you from an empty server to a node with a wallet, a ledger and a settlement hub. It takes a few commands and a few minutes in your browser.
On this page
What you need
A server, or a virtual machine, with:
- Linux with systemd, on x86-64 or arm64. The installer is tested on Debian 12, Ubuntu 24.04, Fedora 42 and CentOS Stream 9. On NixOS, follow Dassie on NixOS instead.
curlorwget;-
minisign, or OpenSSL 1.1.1 or later, to check the release's signature; - a public IP address, and a domain name that points to it;
- TCP ports 80 and 443 and UDP port 443 open to the world, and no other program on UDP port 443. Nodes talk to each other over QUIC, on UDP, and the node does not start without it.
- UDP port 7768 open too, if you want anyone to be able to ask your node for its snapshot, the quotes it swaps at. Without it the node runs, and its peers still get its snapshot.
Requirements has the details. No domain name, or no public address? See Pick your setup.
Install
On your server, run:
$curl --proto =https --tlsv1.2 -sSf https://sh.dassie.land | sh
The installer downloads the newest release from
get.dassie.land and checks its signature against
Dassie's release key before it unpacks anything. It installs Dassie
in /opt/dassie, puts the dassie command on
your path, and sets up and starts its systemd units.
It also adds you to the group dassie-users, whose
members may talk to the node. The change takes effect the next time
you log in, so close your SSH session and log in again before you
use dassie without sudo.
To install a particular version rather than the newest, in a Dockerfile or a cloud-init script for example, name it:
$curl --proto =https --tlsv1.2 -sSf https://sh.dassie.land | sh -s -- --target-version <version>
On a host that runs the node under systemd units of its own, or with
no systemd at all, such as a container, add
--no-service. The installer then puts the files in place
and sets up no units.
Then check that the installed binary works on this server:
$dassie verify-install
If the installer stops, it says why. A common cause is UDP port 443 taken by another program: the node does not start without it.
If this server ran a 0.2 release of Dassie, the new node can't read its old database. A node from the 0.2 releases shows how to start afresh.
Configure the node
Before you can open the wallet, the node needs its domain name and a TLS certificate. It gets the certificate from Let's Encrypt itself. Run:
$sudo dassie init
It asks for your server's domain name, whether you agree to Let's
Encrypt's terms, and an email address. Then it fetches the
certificate and prints a URL where you finish the setup in your
browser, https://<your domain>/setup/<token>.
Whoever opens that URL first sets up the node, so keep it to yourself. It stays valid until setup is done, even if the server restarts. If you lose it, print it again:
$sudo dassie setup-url
If the certificate fails, check that your domain name points to this server and that TCP port 80 is open: Let's Encrypt checks both.
Make your recovery phrase
Open the setup URL in your browser.
- Choose Generate a new wallet. If you already have a Dassie phrase, choose Recover an existing wallet and type it in instead. A phrase made for a 0.2 release doesn't work any more, since the test network was reset: make a new one.
- Write the 20 words down, in order, on paper or a metal plate, and keep them somewhere safe and private. The first four letters of each word, shown in bold, are enough. Then choose I have written it down.
- Type back the word the wallet asks for, and choose Verify. The node sets itself up and logs you in.
Your recovery phrase explains what the 20 words hold, and how they fix a word you misread.
Choose a ledger
Next the wallet asks you to Choose a ledger type. It lists the ledgers your node can hold money on, all of them on the XRP Ledger's test network: your own account there, and the testnet's settlement hubs. Start with your account.
- Next to XRP Ledger Testnet Settlement, choose Select →. This is your node's own account on the XRP Ledger testnet, which holds your test XRP.
- Wait for the test XRP. While the account does not exist on the ledger yet, your node asks the testnet faucet for XRP by itself. The XRP shows up once the ledger validates it. To ask for more, open Assets and choose Get test XRP.
The list also offers DSUSD on the XRP Ledger Testnet Settlement, which holds Dassie's test dollar in the same account, and the testnet's two hubs, which you join next. Add and fund a ledger covers it.
Join a settlement hub
Your XRP Ledger account holds your money, but your node never pays its peers from it directly. Peers settle through a settlement hub they share, so your node needs to join one.
The testnet's XRP hub is built into your node, and four of the bootstrap nodes keep it. To join it:
- In the wallet, open Ledgers and choose + Add ledger.
- Next to XRP in a settlement hub on the XRP Ledger Testnet Settlement, choose Select →.
Your node then moves about 2.5 test XRP from your account into the hub: the hub account's reserve of 2 XRP, and some to spend. From then on it keeps its balance in the hub above a floor by itself. The Hubs page shows your account there. Your hubs says more.
The testnet's DSUSD hub is built in too, for when you hold DSUSD. Add and fund a ledger covers it.
Join the network
Your node now looks for the rest of the network on its own. It asks the bootstrap nodes who is on the network, registers with them, and peers with a few nodes that share a hub with it. The testnet's five bootstrap nodes are built in, so you do not have to do anything. The Network page shows the nodes it knows and the peers it has.
Nodes talk to each other with the peer protocol
dassie/2, so yours peers only with nodes on Dassie
0.3.0 or later.
Protocol versions says more.
Check on your node
To see how your node is doing, run:
$dassie status
It shows the version, the address and certificate, whether setup is done, the network, the peers and ledgers, your hubs and how the last update went. It gives a hint only where something is wrong. Its output holds no secrets, so you can paste it when you ask for help. The node's full log is in the journal:
$journalctl -u dassie
Check on your node explains the output line by line.
Updates
Dassie updates itself. Once a day a systemd timer looks for a newer release, checks its signature and switches to it. If the new version does not start, it goes back to the old one, with the node's data as the old one left it. To update right away, run:
$sudo dassie update
Updates and rollback covers pinning a version and going back.
Uninstall
If you ever want Dassie gone, run:
$curl --proto =https --tlsv1.2 -sSf https://sh.dassie.land | sh -s -- uninstall
This removes Dassie and its systemd units. The node's data stays in
/var/lib/private/dassie, in case you change your mind.
Uninstall has the details.
Next
- Your first payment: send test XRP to someone and watch it arrive.
- Back up your phrase, if you have not yet.
- Configure your node: what you can change, and where.