Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/concepts/networks-and-servers/peer-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ To participate in the XRP Ledger, `rippled` servers connect to arbitrary peers u

Ideally, the server should be able to send _and_ receive connections on the peer port. You should [forward the port used for the peer protocol through your firewall](../../infrastructure/configuration/peering/forward-ports-for-peering.md) to the `rippled` server.
Comment thread
rachelflynn marked this conversation as resolved.

IANA [has assigned port **2459**](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=2459) for the XRP Ledger peer protocol, and you can configure which port(s) your server uses in the `xrpld.cfg` file. The [example config file](https://github.com/XRPLF/rippled/blob/master/cfg/xrpld-example.cfg) now listens for incoming peer protocol connections on **port 2459** on all network interfaces. {% badge href="https://xrpl.org/blog/2026/rippled-3.2.0" %}Updated in: rippled 3.2.0{% /badge %}
IANA [has assigned port **2459**](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=2459) for the XRP Ledger peer protocol, and you can configure which port(s) your server uses in the `xrpld.cfg` file. The [example config file](https://github.com/XRPLF/rippled/blob/master/cfg/xrpld-example.cfg) now listens for incoming peer protocol connections on **port 2459** on all network interfaces. {% badge href="https://xrpl.org/blog/2026/xrpld-3.2.0" %}Updated in: xrpld 3.2.0{% /badge %}
Comment thread
rachelflynn marked this conversation as resolved.

Older servers may use the previous **port 51235**, so you might see peers on either port.

Expand Down
54 changes: 30 additions & 24 deletions docs/infrastructure/commandline-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,23 @@ labels:
---
# Commandline Usage

The `rippled` executable usually runs as a daemon that powers the XRP Ledger, although it can also run in other modes. This page describes all the options you can pass to `rippled` when running it from the command line.
The `xrpld` executable usually runs as a daemon that powers the XRP Ledger, although it can also run in other modes. It was renamed from `rippled` to `xrpld`. {% badge href="https://xrpl.org/blog/2026/xrpld-3.2.0" %}New in: xrpld 3.2.0{% /badge %}

{% admonition type="info" name="Backward compatibility" %}
The former name, `rippled`, still works as a symlink to `xrpld`, so existing scripts and automation continue to work during the transition.
Comment thread
rachelflynn marked this conversation as resolved.
{% /admonition %}

This page describes all the options you can pass to `xrpld` when running it from the command line.

## Available Modes

- **Daemon Mode** - The default. Connect to the XRP Ledger to process transactions and build a ledger database.
- **Stand-Alone Mode** - Use the `-a` or `--standalone` option. Like daemon mode, except it does not connect to other servers. You can use this mode to test transaction processing or other features.
- **Client Mode** - Specify an API method name to connect to another `rippled` server as a JSON-RPC client, then exit. You can use this to look up server status and ledger data if the executable is already running in another process.
Comment thread
rachelflynn marked this conversation as resolved.
- **Other Usage** - Each of the following commands causes the `rippled` executable to print some information, then exit:
- **Other Usage** - Each of the following commands causes the `xrpld` executable to print some information, then exit:
- **Help** - Use `-h` or `--help` to print a usage statement.
- **Unit Tests** - Use `-u` or `--unittest` to run unit tests and print a summary of results. This can be helpful to confirm that you have compiled `rippled` successfully.
- **Version statement** - Use `--version` to have `rippled` print its version number, Git commit hash, and Git build branch.
- **Unit Tests** - Use `-u` or `--unittest` to run unit tests and print a summary of results. This can be helpful to confirm that you have compiled `xrpld` successfully.
- **Version statement** - Use `--version` to have `xrpld` print its version number, Git commit hash, and Git build branch.
- **Definitions** - Use `--definitions` to print the XRP Ledger protocol definitions (the same data returned by the [server_definitions method][]) as JSON, then exit. This lets you obtain updated definitions early in development. {% badge href="https://xrpl.org/blog/2026/xrpld-3.2.0" %}New in: xrpld 3.2.0{% /badge %}

## Generic Options
Expand All @@ -25,7 +31,7 @@ These options apply to most modes:

| Option | Description |
|:----------------|:-----------------------------------------------------------|
| `--conf {FILE}` | Use `{FILE}` as the config file instead of looking for config files in the default locations. If not specified, `rippled` first checks the local working directory for a `rippled.cfg` file. On Linux, if that file is not found, `rippled` next checks for `$XDG_CONFIG_HOME/ripple/ripple.cfg`. (Typically, `$XDG_CONFIG_HOME` maps to `$HOME/.config`.) |
| `--conf {FILE}` | Use `{FILE}` as the config file instead of looking for config files in the default locations. If not specified, `xrpld` first checks the local working directory for a `rippled.cfg` file. On Linux, if that file is not found, `xrpld` next checks for `$XDG_CONFIG_HOME/ripple/ripple.cfg`. (Typically, `$XDG_CONFIG_HOME` maps to `$HOME/.config`.) |
Comment thread
rachelflynn marked this conversation as resolved.
Outdated

### Verbosity Options

Expand All @@ -34,22 +40,22 @@ The following generic options affect the amount of information written to standa
| Option | Short Version | Description |
|:------------|:--------------|:-----------------------------------------------|
| `--debug` | | **DEPRECATED** Enables trace-level debugging (alias for `--verbose`). Use the [log_level method][] instead. |
| `--silent` | | Don't write logs to standard out and standard error during startup. Recommended when starting `rippled` as a systemd unit to reduce redundant logging. |
| `--silent` | | Don't write logs to standard out and standard error during startup. Recommended when starting `xrpld` as a systemd unit to reduce redundant logging. |
| `--verbose` | `-v` | **DEPRECATED** Enables trace-level debugging. Use the [log_level method][] instead. |



## Daemon Mode Options

```bash
rippled [OPTIONS]
xrpld [OPTIONS]
```

Daemon mode is the default mode of operation for `rippled`. In addition to the [Generic Options](#generic-options), you can provide any of the following:
Daemon mode is the default mode of operation for `xrpld`. In addition to the [Generic Options](#generic-options), you can provide any of the following:

| Option | Description |
|:--------------------|:-------------------------------------------------------|
| `--fg` | Run the daemon as a single process in the foreground. Otherwise, `rippled` forks a second process for the daemon while the first process runs as a monitor. |
| `--fg` | Run the daemon as a single process in the foreground. Otherwise, `xrpld` forks a second process for the daemon while the first process runs as a monitor. |
| `--import` | Before fully starting, import ledger data from another `rippled` server's ledger store. Requires a valid `[import_db]` stanza in the config file. |
Comment thread
rachelflynn marked this conversation as resolved.
| `--newnodeid` | Generate a random node identity for the server. |
| `--nodeid {VALUE}` | Specify a node identity. `{VALUE}` can also be a parameter associated with the container or hardware running the server, such as `$HOSTNAME`. |
Expand All @@ -60,10 +66,10 @@ The following options have been removed: `--validateShards` {% badge href="https
## Stand-Alone Mode Options

```bash
rippled --standalone [OPTIONS]
rippled -a [OPTIONS]
xrpld --standalone [OPTIONS]
xrpld -a [OPTIONS]
```
Run in [stand-alone mode](../concepts/networks-and-servers/rippled-server-modes.md). In this mode, `rippled` does not connect to the network or perform consensus. (Otherwise, `rippled` runs in daemon mode.)
Run in [stand-alone mode](../concepts/networks-and-servers/rippled-server-modes.md). In this mode, `xrpld` does not connect to the network or perform consensus. (Otherwise, `xrpld` runs in daemon mode.)
Comment thread
rachelflynn marked this conversation as resolved.

## Initial Ledger Options

Expand All @@ -82,10 +88,10 @@ The following options determine which ledger to load first when starting up. The
## Client Mode Options

```bash
rippled [OPTIONS] -- {COMMAND} {COMMAND_PARAMETERS}
xrpld [OPTIONS] -- {COMMAND} {COMMAND_PARAMETERS}
```

In client mode, the `rippled` executable acts as a client to another `rippled` service. (The service may be the same executable running in a separate process locally, or it could be a `rippled` server on another server.)
In client mode, the `xrpld` executable acts as a client to another `rippled` service. (The service may be the same executable running in a separate process locally, or it could be a `rippled` server on another server.)
Comment thread
rachelflynn marked this conversation as resolved.

To run in client mode, provide the [commandline syntax](../references/http-websocket-apis/api-conventions/request-formatting.md#commandline-format) for one of the [`rippled` API](../references/http-websocket-apis/index.md) methods.

Expand All @@ -102,23 +108,23 @@ Besides the individual commands, client mode accepts the [Generic Options](#gene
Example usage (get account transaction history from the earliest available to latest available ledger versions):

```bash
rippled -- account_tx r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -1 -1
xrpld -- account_tx r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -1 -1
```


## Unit Tests

```bash
rippled --unittest [OPTIONS]
rippled -u [OPTIONS]
xrpld --unittest [OPTIONS]
xrpld -u [OPTIONS]
```

Unit testing runs tests built into the `rippled` source code to confirm that the executable performs as expected. After running unit tests, the process displays a summary of results and exits. Unit tests cover functionality such as built-in data types and transaction processing routines.
Unit testing runs tests built into the `xrpld` source code to confirm that the executable performs as expected. After running unit tests, the process displays a summary of results and exits. Unit tests cover functionality such as built-in data types and transaction processing routines.

If unit testing reports a failure, that generally indicates one of the following:

- A problem occurred when compiling `rippled` and it is not functioning as intended
- The source code for `rippled` contains a bug
- A problem occurred when compiling `xrpld` and it is not functioning as intended
- The source code for `xrpld` contains a bug
- A unit test has a bug or has not been updated to account for new behavior

While running unit tests, you can specify the [Generic Options](#generic-options) and any of the following options:
Expand All @@ -134,17 +140,17 @@ While running unit tests, you can specify the [Generic Options](#generic-options
### Specific Unit Tests

```bash
rippled --unittest={TEST_OR_PACKAGE_NAME}
xrpld --unittest={TEST_OR_PACKAGE_NAME}
```

By default, `rippled` runs all unit tests except ones that are classified as "manual". You can run an individual test by specifying its name, or run a subset of tests by specifying a package name.
By default, `xrpld` runs all unit tests except ones that are classified as "manual". You can run an individual test by specifying its name, or run a subset of tests by specifying a package name.

Tests are grouped into a hierarchy of packages separated by `.` characters and ending in the test case name.

#### Printing Unit Tests

```bash
rippled --unittest=print
xrpld --unittest=print
```

The `print` unit test is a special case that prints a list of available tests with their packages.
Expand All @@ -154,7 +160,7 @@ The `print` unit test is a special case that prints a list of available tests wi
Certain unit tests are classified as "manual" because they take a long time to complete. These tests are marked with `|M|` in the output of the `print` unit test. Manual tests do not run by default when you run all unit tests or a package of unit tests. You can run manual tests individually by specifying the name of the test. For example:

```bash
$ ./rippled --unittest=ripple.tx.OversizeMeta
$ ./xrpld --unittest=ripple.tx.OversizeMeta
ripple.tx.OversizeMeta
Longest suite times:
60.9s ripple.tx.OversizeMeta
Expand Down