xLedgRS mark

xLedgRS

XRPL node implementation in Rust

Fast operator reference for xLedgRS 1.0beta.

xLedgRS is an XRP Ledger node implementation in Rust focused on protocol compatibility, operational clarity, and practical deployment.

Version 1.0beta Updated 2026-04-17 Default ports 51235 / 5005 / 6006
Primary binary
xledgrs
Lifecycle
--start --stop --status
Mainnet config
cfg/xledgrs.cfg
Validator config
cfg/validator-mainnet.cfg

Included in 1.0beta

  • Native peer protocol runtime
  • JSON-RPC and WebSocket services
  • Optional gRPC surface
  • Configuration templates
  • Built-in process lifecycle commands
  • Default rippled-style ports in shipped configs

Default operator settings

  • Mainnet follower data dir: ./xledgrs-data
  • Mainnet validator data dir: ./xledgrs-validator-data
  • PID/log files default into the configured data dir
  • Built-in peer bootstrap list uses public XRPL hubs

Build

Build the binary, choose a configuration template, and start the node with the built-in lifecycle commands.

Prerequisites

  • Rust stable toolchain
  • OpenSSL development headers
  • protobuf / protobuf-compiler
macOS
brew install openssl pkg-config protobuf

Ubuntu / Debian
sudo apt update
sudo apt install -y build-essential clang pkg-config libssl-dev protobuf-compiler

Release build

cargo build --release
./target/release/xledgrs --help

The binary path is ./target/release/xledgrs.

Run

Mainnet follower

cp cfg/xledgrs.cfg ./xledgrs.cfg
./target/release/xledgrs --start --config ./xledgrs.cfg
./target/release/xledgrs --status --config ./xledgrs.cfg

Testnet follower

cp cfg/testnet.cfg ./xledgrs-testnet.cfg
./target/release/xledgrs --start --config ./xledgrs-testnet.cfg

Foreground run

./target/release/xledgrs --config ./xledgrs.cfg

Use this mode for direct terminal debugging. The process stays attached and exits on Ctrl-C or SIGTERM.

RPC smoke check

curl -s http://127.0.0.1:5005 \
  -d '{"method":"server_info","params":[{}]}'

Configuration

Template Use Notes
cfg/xledgrs.cfg Mainnet follower Default release-safe mainnet node template
cfg/testnet.cfg Testnet follower Release-safe testnet template
cfg/validator-mainnet.cfg Mainnet validator Requires operator-supplied validation identity
cfg/validator-testnet.cfg Testnet validator Validator-mode testnet template
cfg/xledgrs-example.cfg Generic example Example template using the current config section names

Default ports

  • Peer: 51235
  • JSON-RPC: 5005
  • WebSocket: 6006

Key settings

  • [port_peer]
  • [port_rpc]
  • [port_ws]
  • [node_db]
  • [validators_file]

Lifecycle files

  • PID: xledgrs.pid
  • Log: xledgrs.log
  • Default location: configured data dir

Runtime surfaces

JSON-RPC

  • server_info
  • server_state
  • ledger
  • ledger_data
  • ledger_entry
  • submit

WebSocket

Local event-driven surface for consumers and operator tooling when the configured WebSocket listener is enabled.

gRPC

Optional service layer with XRPLedgerAPIService and the Xledgrs extension surface when a gRPC address is configured.

Source and docs

Primary references

  • GitHub repository
  • README.md for install, config, and lifecycle
  • cfg/ for release-safe config templates

Deployment model

  • Run the node directly with the xledgrs binary
  • Use shipped configuration templates as the starting point
  • Use the built-in lifecycle commands for background process control