Files
xrpl-dev-portal/content/infrastructure/rippled/commandline-usage.md
Rome Reginelli b51bcb4ea3 Information Architecture v3 (#1934)
* Update look up escrows to remove redundant info about lookups via sender/destination. Modify cancel expired escrow for brevity.

* Cancel escrow: fix notes

* Add draft of updated cancel-escrow.js.

* Update intro to escrows.

* Add Escrow Tutorial

* Minor corrections

* Fix headings, add HTML

* Update escrow docs

This commit re-creates f205a92db2 with
some adjustments:

- Omit the accidentally-created dir full of junk
- Fix some typos and one mistake in the Escrow limitations section
- Add a table to the EscrowCreate ref to clarify valid combos of fields.

* Concept info from send-a-time-held-escrow added to escrow.md

* IA: Move "Consensus Network" files

This re-creates some work from the original commit 56fffe0b9f

* Rewrite escrows article (re-created)

This commit re-creates relevant work from the following commits:

9a4a588f2b Update escrow.md context info
e1b017dc83 Remove references to using escrow for interledger payments.

* IA: Move "XRPL servers" files

This re-creates some work from original commit 7611979abf

* IA: move "production readiness" files.

Re-creates work from the following commit:

692438693a  Move tutorials to concepts

* New intro articles

Original commit: 56fffe0b9f

* IA: Reorg account concepts

Re-creates some work from original commit 56fffe0b9f

* IA: reorg transaction concepts

Original commits:
9d4eff9940  WIP - reorg accounts
7611979abf  WIP dir. reorg

* IA: reorg consensus concepts

Original commit: 56fffe0b9f

* IA: Reorg ledger docs

Original commit: 56fffe0b9f

- Rephrased some details of the section

* IA: rename issuing/operational addresses page

Original commit: 56fffe0b9f

* Moving use cases

* Fleshing out Use Cases

Note, the dactyl-config.yml file has not been fully updated.

* Clean up checks conceptual info.

* Remove redundant checks use case section

Original commit: 3c29e9c05e

* IA: move Dex under tokens

Original commit: d08b3ba7d7

* Touch up stablecoin issuer use case (#1856)

* Consolidate stablecoin use case

* Stablecoin issuer: cleanup progress through sending

* Stablecoin issuer: reorg second half

(Note: the dactyl-config.yml is not fully reconciled yet)

* Move rippled and clio tutorials into infrastructure

* Remove link to checks amendement.

* Add note to account_objects.md about commandline interface type field.

* Merge expiration case with lifecycle section.

* Interoperability Use Cases

* Add graphics to intro

* Move escrow use cases to dedicated page.

* Update use case page intros and corresponding concept info.

* Clarify meaning of direct XRP payments.

* Intro link updates

* Payment use cases

* Remove some unnecessary links in transactions section

Original commit: e6fcf4a4dc

* Link cleanup in Tokens section

Original commit: 9588dd5e70

* Touch up 'Configure Peering' section

Original commit: fc8f0990b8

* Clean up links in accounts section

Original commit: 3da5fde7a8

* Add NFT mkt use case

* p2p payments: edits to Wallets

* Clean up payments use cases

* Refine history description

* IA: use case cleanup

* IA: reconcile servers, ledgers sections

* IA: reconcile payment types, tx, tokens

* IA: reconcile accounts section

* IA: reconcile infra

* IA: Fix most broken links

* Full Docs Index: omit from sidebar

* IA: fix up most broken links

* fix Absolute path link to internal content

* Quick updates to Software Ecosystem

* Remove some absolute links to internal resources

* Fix remaining broken links in JA target

* Contributing: tweak formatting

* Tutorials: fix some minor issues

* remove interop use cases

* remove intro image and personal references to dennis

* alphabetize-transaction-nav

* Remove unused files

* Add QS escrow tutorials

* IA: move ledgers, consensus protocol files around

* IA: update nav for new page hierarchy

* reordering of topics under new networks and servers top-nav

* Move "Naming" to "What is XRP?"

* Update dactyl-config.yml

Remove xrp.md from the TOC.

* Update list-xrp-as-an-exchange.md

Update link to what-is-xrp

* Update list-xrp-as-an-exchange.ja.md

Change link to what-is-xrp

* Update currency-formats.md

Change link to what-is-xrp

* Update currency-formats.ja.md

Change link to what-is-xrp

* Update cancel-an-expired-escrow.md

Change link to what-is-xrp

* Update paymentchannelfund.md

Change link to what-is-xml

* Update look-up-escrows.md

Change link to what-is-xrp

* Update tokens.md

change link to what-is-xrp

* Update use-payment-channels.md

* Update send-a-time-held-escrow.md

Update link to what-is-xml

* fix broken links

* Update parallel-networks.md

Change link to what-is-xml

* Update parallel-networks.ja.md

* Update invariant-checking.md

Remove link to xrp.html

* Update invariant-checking.ja.md

Remove link to xrp.html

* Update transaction-cost.md

Change link to what-is-xrp

* Update transaction-cost.ja.md

Change link to what-is-xrp

* Update send-a-conditionally-held-escrow.md

Change link to what-is-xrp

* Update stablecoin-issuer.md

Change link to what-is-xrp

* Update tokens.ja.md

Change link to what-is-xml

* Update autobridging.ja.md

Change link to what-is-xrp

* Update currency-formats.md

update text

* reorganize infrastructure nav section

* Update currency-formats.md

Try removing link altogether.

* Update currency-formats.ja.md

Remove link to what-is-xrp.html

* move commandline usage topic to infrastructure

* initial intro rewrite

* minor update to language

* IA.v3: rm Production Readiness

* Delete xrp.md

* Update xrp link in snippet

* Add redirect for old xrp.html URL

* Small edits to 'What is XRP?' article

* Add missing imgs

* XRP - copy edit per @DennisDawson

* restructure tutorials nav and pages

* fix broken links

* more broken link fixes

* Algo trading: 1st draft

* Algo trading: notes on taxes

* Algo trading: edits per review

* algo trading: fix broken link

* Ledger structure: rewrite for accuracy and clarity

* Update links to removed 'tree format' header

* Ledger Structure: Update diagrams

* Re-gen CSS for ledger structure changes

* Ledger structure: edits per review

* IA.v3: fix broken NFT links introduced by rebase

* Desktop Wallet (py): update little stuff

* Update some capacity/storage details

* contribute doc nav update

* fix image link in create diagram page

* IAv3: Fix 'Ledgers' blurb

* Update full history requirements with details from community members

* add reviewer suggestions

* Edits per @trippled review

* Apply suggestions from peer review

Co-authored-by: oeggert <117319296+oeggert@users.noreply.github.com>

* FH: reword file size limit note per review

* Update software ecosystem

* updates per review

* Minor tweaks to graphics

* fixTypos

* Update content/concepts/introduction/software-ecosystem.md

Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>

* Update content/concepts/introduction/software-ecosystem.md

Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>

* [JA] update AccountDelete cost

* custom transactors doc

* add doc to dactyl config

* [JA] fix NonFungibleTokensV1_1 amendment status

* [JA] update NFTokenOffer page

* Remove old, unused XRP article (#2039)

* add reviewer suggestions

* Add tooling to check for file/nav consistency

- From the repo top, run tool/check_file_consistency.py to look for
  Markdown files that exist in the "content/" directory but aren't used
  in the documentation.
- New "enforce_filenames" filter prints a warning to console when
  building, if a file's path and filename don't match expectations
  based on its place in the nav and top heading.

* File consistency checker: correctly handle filenames starting in _

* Remove unused old 'get started' and associated code

* Create Resources section & reorg some files

- Rename some files/folders based on their place in the nav
- Move a bunch of non-documentation stuff, and docs on contributing code
  and/or docs to the new "Resources" section.
- Known issue: nav spills into a second row on page widths between
  993px-1110px. To be fixed in a later CSS update, maybe along with
  making the Resources dropdown multi-column.

* Fix #2078 code tab bug

CSS not built yet, to reduce merge conflicts. Won't have any effect
until that happens.

* fix Transaction JSON

* [JA] translate contributing contents

* fix contributing-to-documentation parent

* fix contribute-code blurb

* Top nav: add cols for Resources, fix broken links

* CSS: fix top nav overflows

* Fix broken link from redirect not in JA target

* Top nav: add Infra to article types

* Update contrib info & rename intro file

* [ja] Update link to suggested first page to translate

* [ja] fix contribute docs organization

* Run private network with docker tutorial (#2065)

* [NO-ISSUE] Run private network with docker tutorial

Adds a tutorial page in the Infrastructure section on how to run a private XRPL network with Docker.

Please let me know if you think this is a useful page to include for developers, whether the steps are clear or not, and if you have suggestions on what can be added to it.

* Add minor link fixes and Japanese target

* Apply suggestions from code review

Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>

* Add link to ripple-docker-testnet setup scripts in See Also section

* Update repo URL

---------

Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>

* add intro gfx (#2036)

* add intro gfx

* Move graphic up

* Update some graphics with their revised versions

* Add updated version of the custodial vs non-custodial graphic

---------

Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>
Co-authored-by: Amarantha Kulkarni <akulkarni@ripple.com>

* Update to reflect current UNL publishers

* [ja] update contributing

Co-authored-by: tequ <git@tequ.dev>

* Incorporate feedback on "What is XRP" page. (#2099)

* Add trademark info for XRP

* Revert section to previous state

* Fix broken link (#2101)

---------

Co-authored-by: Oliver Eggert <oeggert@ripple.com>
Co-authored-by: ddawson <dennis.s.dawson@gmail.com>
Co-authored-by: Maria Shodunke <mshodunke@ripple.com>
Co-authored-by: tequ <git@tequ.dev>
Co-authored-by: oeggert <117319296+oeggert@users.noreply.github.com>
Co-authored-by: Amarantha Kulkarni <amarantha-k@users.noreply.github.com>
Co-authored-by: develoQ <develoQ.jp@gmail.com>
Co-authored-by: Maria Shodunke <maria-robobug@users.noreply.github.com>
Co-authored-by: Amarantha Kulkarni <akulkarni@ripple.com>
2023-09-01 12:40:18 -07:00

13 KiB

html, name, parent, blurb, curated_anchors, labels
html name parent blurb curated_anchors labels
commandline-usage.html Commandline Usage infrastructure.html Commandline usage options for the rippled server.
name anchor
Available Modes #available-modes
name anchor
Daemon Mode Options #daemon-mode-options
name anchor
Stand-Alone Mode Options #stand-alone-mode-options
name anchor
Client Mode Options #client-mode-options
name anchor
Unit Tests #unit-tests
Core Server

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.

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.
  • Other Usage - Each of the following commands causes the rippled 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, then exit.

Generic Options

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.)

Verbosity Options

The following generic options affect the amount of information written to standard output and log files:

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.
--verbose -v DEPRECATED Enables trace-level debugging. Use the [log_level method][] instead.

Daemon Mode Options

rippled [OPTIONS]

Daemon mode is the default mode of operation for rippled. In addition to the 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.
--import Before fully starting, import ledger data from another rippled server's ledger store. Requires a valid [import_db] stanza in the config file.
--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.
--nodetoshard Before fully starting, copy any complete history shards from the ledger store into the shard store, up to the shard store's configured maximum disk space. Uses large amounts of CPU and I/O. Caution: this command copies data (instead of moving it), so you must have enough disk space to store the data in both the shard store and the ledger store.
--quorum {QUORUM} This option is intended for starting test networks. Override the minimum quorum for validation by requiring an agreement of {QUORUM} trusted validators. By default, the quorum for validation is automatically set to a safe number of trusted validators based on how many there are. If some validators are not online, this option can allow progress with a lower than normal quorum. Warning: If you set the quorum manually, it may be too low to prevent your server from diverging from the rest of the network. Only use this option if you have a deep understanding of consensus and have a need to use a non-standard configuration.

The following option has been removed: --validateShards. [Removed in: rippled 1.7.0][]

Stand-Alone Mode Options

rippled --standalone [OPTIONS]
rippled -a [OPTIONS]

Run in stand-alone mode. In this mode, rippled does not connect to the network or perform consensus. (Otherwise, rippled runs in daemon mode.)

Initial Ledger Options

The following options determine which ledger to load first when starting up. These options are intended for debugging and for starting networks. These options work with both stand-alone mode and network mode. By default, the server loads its initial ledger using a combination of saved local data and data downloaded from the peer-to-peer network based on what ledger has been most recently validated by the network.

Option Description
--ledger {LEDGER} Load the ledger version identified by {LEDGER} (either a ledger hash or a ledger index) as the initial ledger. The specified ledger version must be in the server's ledger store.
--ledgerfile {FILE} Load the ledger version from the specified {FILE}, which must contain a complete ledger in JSON format. For an example of such a file, see the provided ledger-file.json.
--load Use only the ledger store on disk when loading the initial ledger.
--net Use only data from the network when loading the initial ledger.
--replay Use with --ledger to replay a specific ledger. Your server must have the ledger in question and its direct ancestor already in the ledger store. Using the previous ledger as a base, the server processes all the transactions in the specified ledger, resulting in a re-creation of the specified ledger. With a debugger, you can add breakpoints to analyze specific transaction processing logic.
--start Start with a new genesis ledger that has known amendments enabled, based on their default votes. This makes the functionality of those amendments available right away, instead of needing to wait two weeks for the Amendment Process. See also: Start a New Genesis Ledger in Stand-Alone Mode.
--valid Consider the initial ledger a valid network ledger even before fully syncing with the network. This can be used for starting networks or rolling back an entire network to a known previous state, as long as 80% of that network's validators load the same ledger at around the same time.

Client Mode Options

rippled [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.)

To run in client mode, provide the commandline syntax for one of the rippled API methods.

Besides the individual commands, client mode accepts the Generic Options and the following options:

Option Description
--rpc Explicitly specify that the server should run in client mode. Not required.
--rpc_ip {IP_ADDRESS} Connect to the rippled server at the specified IP Address, optionally including a port number.
--rpc_port {PORT} DEPRECATED Connect to the rippled server on the specified port. Specify the port alongside the IP address using --rpc_ip instead.

Tip: Some arguments accept negative numbers as values. To ensure that arguments to API commands are not interpreted as options instead, pass the -- argument before the command name.

Example usage (get account transaction history from the earliest available to latest available ledger versions):

rippled -- account_tx r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 -1 -1

Unit Tests

rippled --unittest [OPTIONS]
rippled -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.

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 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 and any of the following options:

Option Short Version Description
--unittest-ipv6 Use IPv6 to connect to the local server when running unit tests. If not provided, unit tests use IPv4 instead. [New in: rippled 1.1.0][]
--unittest-jobs {NUMBER_OF_JOBS} Use the specified number of processes to run unit tests. This can finish running tests faster on multi-core systems. The {NUMBER_OF_JOBS} should be a positive integer indicating the number of processes to use.
--unittest-log Allow unit tests to write to logs even if --quiet is specified. (No effect otherwise.)
--quiet -q Print fewer diagnostic messages when running unit tests.

Specific Unit Tests

rippled --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.

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

Printing Unit Tests

rippled --unittest=print

The print unit test is a special case that prints a list of available tests with their packages.

Manual Unit Tests

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:

$ ./rippled --unittest=ripple.tx.OversizeMeta
ripple.tx.OversizeMeta
Longest suite times:
   60.9s ripple.tx.OversizeMeta
60.9s, 1 suite, 1 case, 9016 tests total, 0 failures

Providing Arguments to Unit Tests

Certain manual unit tests accept an argument. You can provide the argument with the following option:

Option Description
--unittest-arg {ARG} Provide the argument {ARG} to the unit test(s) currently being run. Each unit test that accepts arguments defines its own argument format.

{% include '_snippets/rippled-api-links.md' %} {% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %}