XRPL

Node setup guide for your XRP Ledger Testnet or Mainnet validator.

  1. Update repositories:
Terminal window
sudo apt -y update
sudo apt -y install apt-transport-https ca-certificates wget gnupg
  1. Add Ripple’s package-signing GPG key to your list of trusted keys:
Terminal window
sudo install -m 0755 -d /etc/apt/keyrings && \
wget -qO- https://repos.ripple.com/repos/api/gpg/key/public | \
sudo gpg --dearmor -o /etc/apt/keyrings/ripple.gpg
  1. Check the fingerprint of the newly-added key:
Terminal window
gpg --show-keys /etc/apt/keyrings/ripple.gpg

The output should include an entry for Ripple such as the following:

pub rsa3072 2019-02-14 [SC] [expires: 2026-02-17]
C0010EC205B35A3310DC90DE395F97FFCCAFD9A2
uid TechOps Team at Ripple <techops+rippled@ripple.com>
sub rsa3072 2019-02-14 [E] [expires: 2026-02-17]
  1. Add the appropriate Ripple repository for your operating system version. Replace $OS with:
  • buster for Debian 10 Buster
  • bullseye for Debian 11 Bullseye
  • bookworm for Debian 12 Bookworm
  • bionic for Ubuntu 18.04 Bionic Beaver
  • jammy for Ubuntu 22.04 Jammy Jellyfish
  • noble for Ubuntu 24.04 Noble Numbat
Terminal window
echo "deb [signed-by=/etc/apt/keyrings/ripple.gpg] https://repos.ripple.com/repos/rippled-deb $OS stable" | \
sudo tee -a /etc/apt/sources.list.d/ripple.list
  1. Update the package index to include Ripple’s repo and install rippled.
Terminal window
sudo apt -y update && sudo apt -y install rippled
  1. Check the status of the rippled service:
Terminal window
sudo systemctl status rippled.service

The rippled service should start automatically. If not, you can start it manually with:

Terminal window
sudo systemctl start rippled.service

If you’re configuring a Mainnet rippled node, you can skip the next section.

If you are setting up a Testnet rippled node, first complete the above proccess, and then follow these next steps:

Edit your rippled.cfg file located under /etc/opt/ripple/rippled.cfg.

  1. Set an [ips] stanza with the Testnet hub:
[ips]
s.altnet.rippletest.net 51235
  1. Comment out the previous [ips] stanza, if there is one.

  2. Add a [network_id] stanza with the appropriate value:

[network_id]
testnet

Edit your validators.txt file located under /etc/opt/ripple/validators.txt.

  1. Uncomment or add the Testnet [validator_list_sites] and [validator_list_keys] stanzas:
[validator_list_sites]
https://vl.altnet.rippletest.net
[validator_list_keys]
ED264807102805220DA0F312E71FC2C69E1552C9C5790F6C25E3729DEB573D5860
  1. Comment out any previous [validator_list_sites], [validator_list_keys], or [validators] stanzas.
Terminal window
sudo systemctl restart rippled

You can find more information on connecting to parallel networks here.

Use the rippled commandline interface to see if your server is synced with the network:

Terminal window
rippled server_info

It can take several minutes to sync. When the server_state in the response is full, then your server is fully synced with the network.

You can query the node with:

Terminal window
curl -H 'Content-Type: application/json' -d '{"method":"server_info","params":[{}]}' http://localhost:5005

Edit on GitHub