xls: 18
title: Standard For Bootstrapping XRPLD Networks
description: An experimental procedure to bootstrapping XRP Ledger Network
author: Richard Holland (@RichardAH)
created: 2021-03-25
status: Stagnant
category: Ecosystem
This procedure is experimental and additions amendments or recommendations based on experience to this standard draft are welcome.
Problem Definition¶
Xrpld / rippled[1] is the software that processes, achieves consensus upon and serves the decentralised public XRP Ledger, as well as numerous other public and private ledgers.
From time to time a decentralised network may stall, fork, or otherwise fail to achieve consensus because of a bug, network instability, unreliable nodes or operators, a deliberate attack, or any combination of these. In this event the bootstrapping procedure to return the network to normal operation is important and should be followed correctly to avoid (further) forks and halts.
Terminology¶
Validator refers to a rippled instance configured to publish validations of ledgers.
UNL refers to a list of validator public keys that the network has collectively agreed are allowed to validate ledgers.
Node refers to a validator currently listed in the network's UNL.
Procedure — Cold Start¶
Cold start describes a situation in which none of the validators in a network are currently running. This situation can arise because they crashed, were terminated automatically or were terminated manually (or any combination of these.)
- Select a node from your UNL to be the
leader. The remaining nodes will be referred to asfollowers. - On the
leaderrun rippled from your terminal in the foreground with the following flags:./rippled --valid --quorum 1 --load - On each follower run rippled from your terminal in the foreground with the following flags:
./rippled --net --quorum 1 - In a seperate terminal, on each of the
followersand on theleaderyou may monitor whether or not ledgers are closing correctly using:./rippled ledger closedIn particular ensure the ledger index is incrementing and the ledgers are validated. - On the
leaderterminate the foreground rippled process. (Ctrl + C) - On the
leaderrun rippled normally as a daemon. - On the
leaderin the second terminal continue to monitor the last closed ledger until validation is consistently achieved, as per 4. - Select one
followernode. - Terminate the foreground process on the selected
followerand start rippled normally. - Monitor for LCL validation as per 4.
- Repeat from step 8 until all nodes are running normally.
Troubleshooting¶
Small networks may require the quorum size to be permanently overridden for network stability. To do this modify the control script that runs rippled to include --quorum X where X is the number of nodes in your UNL less 1.