Menu

Network and peers

The Network page shows your node among its neighbors: who it knows, who it peers with, and how it stands with the network. This page walks you through it, and through ending a peering or banning a node when you need to.

On this page
  1. The page at a glance
  2. Registered or not
  3. Uplinks and relay
  4. Peers and how they settle
  5. End a peering
  6. Ban a node

The page at a glance

Open Network in the top menu. At the top right of every page, next to the menu, a dot and a count such as 12 nodes tell you how many nodes your node knows, and whether the wallet is connected to it, still connecting, reconnecting, or failed. Select it to open the Nodes debug page.

The Network page has three parts:

  • The graph. Your node and every node a route reaches, with a line where both ends list each other. A peer that is offline, or that does not list your node back, has no line. Each node keeps its place as the network changes. Select a node to see its details.
  • Nodes. Every node your node knows, grouped by how far it is: This node, Direct peers, Peers not routed and Offline peers, Other nodes two or more hops away, and No connection for nodes no route reaches. Each shows its name, or the start of its ID, and its URL.
  • Details. Your own node's standing, or, once you select another node, that node's details.

Registered or not

A node with a public address and a domain name joins the network by registering with the bootstrap nodes, and becomes a core node once its uplinks promote it. Each keeps a list, and a node that more than half of them list is a member, which every other node then knows about.

Your node knows the testnet's five bootstrap nodes from the start, boot1.dassie.xyz to boot5.dassie.xyz, and registers with them by itself when it starts. It renews before a registration lapses. DASSIE_BOOTSTRAP_NODES replaces them, for a network of your own.

On a node with a domain name, the details card is Details for your node, with a section called Tier 1 registration:

  • Registered or Not registered: whether enough bootstrap nodes list your node.
  • In the core or Not in the core, once your node is registered: whether the network's signed data puts it in the core, the nodes that two core nodes peer with, grown from the bootstrap nodes (why). Every node starts outside it, as a periphery node, until two of its uplinks promote it: after an hour in good standing with them, answering at its domain name with a real certificate, with room and a settlement between them. Until then it is paid beneath its uplinks, and its card shows its uplinks too (below).
  • Listed by 3 of 5 bootstrap nodes: how many list it.

A new node shows Not registered for a while at first: each bootstrap node first checks that your node's URL answers, and your node then has to fetch their lists to see itself on them.

To see each bootstrap node, select Register (or Update registration). The page lists each one with whether it lists your node, when your node last registered, and when it last fetched that node's list. Renew now registers with that one again at once.

How membership works, in the spec.

Swaps

Below the registration, the card shows how your node swaps with its peers (see Exchange-rate settings). Its badge says swapping when your node swaps by itself, with how many peers' quotes it reads, or on request when it swaps only when you ask. Once it has swapped, the lines below count what it sent: fulfilled, rejected and in flight, and how often it backed off, was refused, or got back too little.

Snapshot

Last, a core node's card shows whether it answers requests for its snapshot: the quotes it swaps at with its peers, signed by your node. Its peers get it over their peering. Anyone else, such as someone choosing a node to swap with, asks for it over UDP.

Badge Means
answering It answers at the address shown. The line below counts the datagrams it took: answered, over its budget, or ignored.
sends failed It answers, but some answers could not be sent.
not answering It has the socket, but no snapshot to give: it answers once it has a domain name and offers swaps to its peers.
none The node has no UDP socket for it, so it answers no request. Its peers still get its snapshot.

It answers on UDP port 7768, which you open as in Requirements. If that port is taken, your node runs without it. To ask a node for its snapshot yourself, see Read a node's snapshot.

A node without a domain name, such as the desktop app or a server behind a router, is a periphery node, and so is one with a domain name until it is promoted. One without a domain name registers with no bootstrap node. Its card says Periphery node and shows these instead:

  • Uplinks. The core nodes it peers with, which carry its payments in and out, each connected or not connected, with when it was last heard from. With none yet, no payment reaches your node: it looks for core nodes that share a settlement hub with it. On the testnet, all five bootstrap nodes are in both of its hubs, so a node in either finds uplinks among them. In the graph, your node has a line to each uplink it reaches directly.
  • Relay. The relay that apps and wallets using Open Payments reach your node through, by its URL, with connected, connecting or unreachable. By default it is Dassie's front door, https://relay.dassiepay.net, which reaches your node at its dassiepay.net address. Connecting right after a start is normal; unreachable means your node has not reached it for a while. The card says None when your node keeps no relay: when DASSIE_RELAY is set empty, or when your node has a domain name and keeps the default, which it then drops. Then no one reaches your node through Open Payments at its dassiepay.net address. You can still send, and Interledger payments still reach it through its uplinks.
  • Swaps. As on a core node (above), toward the targets you set.

The default relay has a cost: it is a machine the project runs, so it learns when your node is online, and it reads the Open Payments requests it passes on. To name another relay, keep none, or pin uplinks on a server, see A server without a public IP; in the desktop app, see How others reach you. For how it fits together, see Core and periphery.

Why there is a default relay

Peers and how they settle

Your node finds its peers by itself: nodes that share a settlement hub with it. It joins a hub when you add the hub's scheme under Ledgers (see Your hubs), and dassie setup on the testnet joins the testnet's XRP hub unless you tell it otherwise. Your node peers only with nodes that speak its version of the peer protocol, so a node still on a 0.2 release never becomes its peer; see Protocol versions.

Select any node, in the graph or the list, to see its details:

Distance

How many hops away it is, or no route.

Settles with

The settlement schemes that node says it runs, by their IDs, such as hub-xrpl-testnet-xrp.

Neighbors

The nodes it lists as its own peers.

Peering

none, requesting, peered or terminating: how your node stands with it.

For a peer, the details go on:

Settles on

Each hub the two of you settle over, in the order you agreed, with what your node owes the peer there, net. A negative amount means the peer owes yours. A method may carry a badge:

  • Winding down: your node takes no new payments on it, asks the peer to settle once, then stops settling there. This happens, for example, while you remove that ledger.
  • Short of room: the peer has not settled for a while, so no payments go through it there until it does.
Status and Last heard

Whether the peer is online now, and when it last spoke.

Advertised

Whether your node tells the network it can route through this peer. A peer that is unhealthy for a while is taken out of that, and comes back once it is healthy again; it stays peered all the while.

Ending, because

Shown while a peering ends, with the reason.

For what peers, credit and holds mean, see Peers and holds.

End a peering

Your node ends peerings with peers that stay silent or short of room for long by itself. You rarely need to. If you do:

  1. Select the peer, and then Terminate peering.
  2. Confirm with Terminate.

Your node first asks the peer to settle once more, without saying why, and takes no new payments from it. Then it tells the peer, and once the payments in flight are done, the peering ends. What either side still owes stays on the books, to be settled if you peer again. The two do not peer again for a day, unless your node restarts.

Ban a node

A ban is for a node you never want to deal with. Select the node, then Ban node, and confirm with Ban.

Your node ends any peering with it at once: it stops routing through it and tells it now, without asking it to settle first. What it owes stays on the books. The details then say Banned by you. Your node never peers with it again until you select Unban node. A ban lasts across restarts.

Why it works this way: ending a peering slowly and quietly, and bans.

A kopje of granite blocks against the sun, in veld grass; one dassie climbs its slab, one keeps lookout on top inside the sun, and one sleeps on the next rock; on a wide screen, a pair sits on a kopje to the left