mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-04 20:05:50 +00:00
Compare commits
2 Commits
rippled-v0
...
RippleAPI-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72a56f170f | ||
|
|
165af1e156 |
@@ -215,17 +215,21 @@
|
||||
<h2 id="local-load-cost">Local Load Cost</h2>
|
||||
<p>Each <code>rippled</code> server maintains a cost threshold based on its current load. If you submit a transaction with a <code>Fee</code> value that is lower than current load-based transaction cost of the <code>rippled</code> server, that server neither applies nor relays the transaction. (<strong>Note:</strong> If you submit a transaction through an <a href="reference-rippled.html#connecting-to-rippled">admin connection</a>, the server applies and relays the transaction as long as the transaction meets the un-scaled minimum transaction cost.) A transaction is very unlikely to survive <a href="https://ripple.com/knowledge_center/the-ripple-ledger-consensus-process/">the consensus process</a> unless its <code>Fee</code> value meets the requirements of a majority of servers.</p>
|
||||
<h2 id="open-ledger-cost">Open Ledger Cost</h2>
|
||||
<p>A <code>rippled</code> server with the <a href="concept-amendments.html#feeescalation">FeeEscalation amendment</a> enabled has a second mechanism for enforcing the transaction cost, called the <em>open ledger cost</em>. A transaction can only be included in the open ledger if it meets the open ledger cost requirement in XRP. Transactions that do not meet the open ledger cost are <a href="#queued-transactions">queued for a following ledger</a> instead.</p>
|
||||
<p>The <code>rippled</code> server has a second mechanism for enforcing the transaction cost, called the <em>open ledger cost</em>. A transaction can only be included in the open ledger if it meets the open ledger cost requirement in XRP. Transactions that do not meet the open ledger cost are <a href="#queued-transactions">queued for a following ledger</a> instead.</p>
|
||||
<p>For each new ledger version, the server picks a soft limit on the number of transactions to be included in the open ledger, based on the number of transactions in the previous ledger. The open ledger cost is equal to the minimum un-scaled transaction cost until the number of transactions in the open ledger is equal to the soft limit. After that, the open ledger cost increases exponentially for each transaction included in the open ledger. For the next ledger, the server increases the soft limit if the current ledger contained more transactions than the soft limit, and decreases the soft limit if the consensus process takes more than 5 seconds.</p>
|
||||
<p>The open ledger cost requirement is <a href="#fee-levels">proportional to the normal cost of the transaction</a>, not the absolute transaction cost. Transaction types that have a higher-than-normal requirement, such as <a href="reference-transaction-format.html#multi-signing">multi-signed transactions</a> must pay more to meet the open ledger cost than transactions which have minimum transaction cost requirements.</p>
|
||||
<p>See also: <a href="https://github.com/ripple/rippled/blob/release/src/ripple/app/misc/FeeEscalation.md">Fee Escalation explanation in <code>rippled</code> repository</a>.</p>
|
||||
<h3 id="queued-transactions">Queued Transactions</h3>
|
||||
<p>(Requires the <a href="concept-amendments.html#feeescalation">FeeEscalation amendment</a>)</p>
|
||||
<p>When <code>rippled</code> receives a transaction that meet the server's local load cost but not the open ledger cost, the server estimates whether the transaction is "likely to be included" in a later ledger. If so, the server adds the transaction to the transaction queue and relays the transaction to other members of the network. Otherwise, the server discards the transaction. The server tries minimize the amount of network load caused by transactions that would not pay a transaction cost, since <a href="#transaction-costs-and-failed-transactions">the transaction cost only applies when a transaction is included in a validated ledger</a>.</p>
|
||||
<p>The <code>rippled</code> server uses a variety of heuristics to estimate which transactions are "likely to be included in a ledger." Most importantly, those transactions must be properly-formed and <a href="reference-transaction-format.html#authorizing-transactions">authorized</a> with valid signatures.</p>
|
||||
<p>When the current open ledger closes and the server starts a new open ledger, the server starts taking transactions from the queue to include in the new open ledger. The transaction queue is sorted with the transactions that would pay the highest transaction cost first, proportional to the un-scaled cost of those transactions. Transactions that pay the same transaction cost are queued in the order the server receives them.</p>
|
||||
<p class="devportal-callout note"><strong>Note:</strong> As of <code>rippled</code> <strong>version 0.31.0</strong>, the transaction queue supports at most 1 transaction per sending address. This is expected to change in later versions.</p>
|
||||
<p class="devportal-callout caution"><strong>Caution:</strong> The current implementation does not allow transactions with an <code>AccountTxnID</code> field in the transaction queue.</p>
|
||||
<h4 id="queuing-restrictions">Queuing Restrictions</h4>
|
||||
<p>The <code>rippled</code> server uses a variety of heuristics to estimate which transactions are "likely to be included in a ledger." The current implementation uses the following rules to decide which transactions to queue:</p>
|
||||
<ul>
|
||||
<li>Transactions must be properly-formed and <a href="reference-transaction-format.html#authorizing-transactions">authorized</a> with valid signatures.</li>
|
||||
<li>Transactions with an <code>AccountTxnID</code> field cannot be queued.</li>
|
||||
<li>A single sending address can have at most 10 transactions queued at the same time. In order for a transaction to be queued, the sender must have enough XRP to pay all the XRP costs of all the sender's queued transactions including both the <code>Fee</code> fields and the sum of the XRP that each transaction could send. If a transaction affects how the address authorizes accounts, no other transactions from the same address can be queued behind it. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0"><code>rippled</code> 0.32.0</a>)</em></li>
|
||||
<li>If the transaction includes a <code>LastLedgerSequence</code> field, the value of that field must not be more than <strong>the current ledger index + 2</strong>.</li>
|
||||
</ul>
|
||||
<h2 id="reference-transaction-cost">Reference Transaction Cost</h2>
|
||||
<p>The "Reference Transaction" is the cheapest (non-free) transaction, in terms of the necessary <a href="concept-transaction-cost.html">transaction cost</a> before load scaling. Most transactions have the same cost as the reference transaction. Some transactions, such as <a href="reference-transaction-format.html#multi-signing">multi-signed transactions</a>, require a multiple of this cost instead. When the open ledger cost escalates, the requirement is proportional to the basic cost of the transaction.</p>
|
||||
<h3 id="fee-levels">Fee Levels</h3>
|
||||
@@ -299,9 +303,9 @@
|
||||
<p>When a <code>rippled</code> server initially evaluates a transaction, it rejects the transaction with the error code <code>terINSUF_FEE_B</code> if the sending account does not have a high enough XRP balance to pay the XRP transaction cost. Since this is a <code>ter</code> (Retry) code, the <code>rippled</code> server retries the transaction without relaying it to the network, until the transaction's outcome is <a href="reference-transaction-format.html#finality-of-results">final</a>.</p>
|
||||
<p>When a transaction has already been distributed to the network, but the account does not have enough XRP to pay the transaction cost, the result code <code>tecINSUFF_FEE</code> occurs instead. In this case, the account pays all the XRP it can, ending with 0 XRP. This can occur because <code>rippled</code> decides whether to relay the transaction to the network based on its in-progress ledger, but transactions may be dropped or reordered when building the consensus ledger.</p>
|
||||
<h2 id="key-reset-transaction">Key Reset Transaction</h2>
|
||||
<p>As a special case, an account can send a <a href="reference-transaction-format.html#setregularkey">SetRegularKey</a> transaction with a transaction cost of <code>0</code>, as long as the account's <a href="reference-ledger-format.html#accountroot-flags">lsfPasswordSpent flag</a> is disabled. This transaction must be signed by the account's <em>master key</em>. Sending this transaction enables the lsfPasswordSpent flag.</p>
|
||||
<p>As a special case, an account can send a <a href="reference-transaction-format.html#setregularkey">SetRegularKey</a> transaction with a transaction cost of <code>0</code>, as long as the account's <a href="reference-ledger-format.html#accountroot-flags">lsfPasswordSpent flag</a> is disabled. This transaction must be signed by the account's <em>master key pair</em>. Sending this transaction enables the lsfPasswordSpent flag.</p>
|
||||
<p>This feature is designed to allow you to recover an account if the regular key is compromised, without worrying about whether the compromised account has any XRP available. This way, you can regain control of the account before you send more XRP to it.</p>
|
||||
<p>The <a href="reference-ledger-format.html#accountroot-flags">lsfPasswordSpent flag</a> starts out disabled. If enabled, it gets disabled again when the account receives a <a href="reference-transaction-format.html#payment">Payment</a> of XRP.</p>
|
||||
<p>The <a href="reference-ledger-format.html#accountroot-flags">lsfPasswordSpent flag</a> starts out disabled. It gets enabled when you send a SetRegularKey transaction signed by the master key pair. It gets disabled again when the account receives a <a href="reference-transaction-format.html#payment">Payment</a> of XRP.</p>
|
||||
<p>When the <a href="concept-amendments.html#feeescalation">FeeEscalation amendment</a> is enabled, <code>rippled</code> prioritizes key reset transactions above other transactions even though the nominal transaction cost of a key reset transaction is zero.</p>
|
||||
<h2 id="changing-the-transaction-cost">Changing the Transaction Cost</h2>
|
||||
<p>The Ripple Consensus Ledger has a mechanism for changing the minimum transaction cost to account for long-term changes in the value of XRP. Any changes have to be approved by the consensus process. See <a href="concept-fee-voting.html">Fee Voting</a> for more information.</p>
|
||||
|
||||
@@ -47,7 +47,7 @@ Each `rippled` server maintains a cost threshold based on its current load. If y
|
||||
|
||||
## Open Ledger Cost ##
|
||||
|
||||
A `rippled` server with the [FeeEscalation amendment](concept-amendments.html#feeescalation) enabled has a second mechanism for enforcing the transaction cost, called the _open ledger cost_. A transaction can only be included in the open ledger if it meets the open ledger cost requirement in XRP. Transactions that do not meet the open ledger cost are [queued for a following ledger](#queued-transactions) instead.
|
||||
The `rippled` server has a second mechanism for enforcing the transaction cost, called the _open ledger cost_. A transaction can only be included in the open ledger if it meets the open ledger cost requirement in XRP. Transactions that do not meet the open ledger cost are [queued for a following ledger](#queued-transactions) instead.
|
||||
|
||||
For each new ledger version, the server picks a soft limit on the number of transactions to be included in the open ledger, based on the number of transactions in the previous ledger. The open ledger cost is equal to the minimum un-scaled transaction cost until the number of transactions in the open ledger is equal to the soft limit. After that, the open ledger cost increases exponentially for each transaction included in the open ledger. For the next ledger, the server increases the soft limit if the current ledger contained more transactions than the soft limit, and decreases the soft limit if the consensus process takes more than 5 seconds.
|
||||
|
||||
@@ -57,17 +57,20 @@ See also: [Fee Escalation explanation in `rippled` repository](https://github.co
|
||||
|
||||
### Queued Transactions ###
|
||||
|
||||
(Requires the [FeeEscalation amendment](concept-amendments.html#feeescalation))
|
||||
|
||||
When `rippled` receives a transaction that meet the server's local load cost but not the open ledger cost, the server estimates whether the transaction is "likely to be included" in a later ledger. If so, the server adds the transaction to the transaction queue and relays the transaction to other members of the network. Otherwise, the server discards the transaction. The server tries minimize the amount of network load caused by transactions that would not pay a transaction cost, since [the transaction cost only applies when a transaction is included in a validated ledger](#transaction-costs-and-failed-transactions).
|
||||
|
||||
The `rippled` server uses a variety of heuristics to estimate which transactions are "likely to be included in a ledger." Most importantly, those transactions must be properly-formed and [authorized](reference-transaction-format.html#authorizing-transactions) with valid signatures.
|
||||
|
||||
When the current open ledger closes and the server starts a new open ledger, the server starts taking transactions from the queue to include in the new open ledger. The transaction queue is sorted with the transactions that would pay the highest transaction cost first, proportional to the un-scaled cost of those transactions. Transactions that pay the same transaction cost are queued in the order the server receives them.
|
||||
|
||||
**Note:** As of `rippled` **version 0.31.0**, the transaction queue supports at most 1 transaction per sending address. This is expected to change in later versions.
|
||||
#### Queuing Restrictions ####
|
||||
|
||||
The `rippled` server uses a variety of heuristics to estimate which transactions are "likely to be included in a ledger." The current implementation uses the following rules to decide which transactions to queue:
|
||||
|
||||
* Transactions must be properly-formed and [authorized](reference-transaction-format.html#authorizing-transactions) with valid signatures.
|
||||
* Transactions with an `AccountTxnID` field cannot be queued.
|
||||
* A single sending address can have at most 10 transactions queued at the same time. In order for a transaction to be queued, the sender must have enough XRP to pay all the XRP costs of all the sender's queued transactions including both the `Fee` fields and the sum of the XRP that each transaction could send. If a transaction affects how the address authorizes accounts, no other transactions from the same address can be queued behind it. _(New in [`rippled` 0.32.0](https://github.com/ripple/rippled/releases/tag/0.32.0))_
|
||||
* If the transaction includes a `LastLedgerSequence` field, the value of that field must not be more than **the current ledger index + 2**.
|
||||
|
||||
|
||||
**Caution:** The current implementation does not allow transactions with an `AccountTxnID` field in the transaction queue.
|
||||
|
||||
## Reference Transaction Cost ##
|
||||
|
||||
@@ -144,11 +147,11 @@ When a transaction has already been distributed to the network, but the account
|
||||
|
||||
## Key Reset Transaction ##
|
||||
|
||||
As a special case, an account can send a [SetRegularKey](reference-transaction-format.html#setregularkey) transaction with a transaction cost of `0`, as long as the account's [lsfPasswordSpent flag](reference-ledger-format.html#accountroot-flags) is disabled. This transaction must be signed by the account's _master key_. Sending this transaction enables the lsfPasswordSpent flag.
|
||||
As a special case, an account can send a [SetRegularKey](reference-transaction-format.html#setregularkey) transaction with a transaction cost of `0`, as long as the account's [lsfPasswordSpent flag](reference-ledger-format.html#accountroot-flags) is disabled. This transaction must be signed by the account's _master key pair_. Sending this transaction enables the lsfPasswordSpent flag.
|
||||
|
||||
This feature is designed to allow you to recover an account if the regular key is compromised, without worrying about whether the compromised account has any XRP available. This way, you can regain control of the account before you send more XRP to it.
|
||||
|
||||
The [lsfPasswordSpent flag](reference-ledger-format.html#accountroot-flags) starts out disabled. If enabled, it gets disabled again when the account receives a [Payment](reference-transaction-format.html#payment) of XRP.
|
||||
The [lsfPasswordSpent flag](reference-ledger-format.html#accountroot-flags) starts out disabled. It gets enabled when you send a SetRegularKey transaction signed by the master key pair. It gets disabled again when the account receives a [Payment](reference-transaction-format.html#payment) of XRP.
|
||||
|
||||
When the [FeeEscalation amendment](concept-amendments.html#feeescalation) is enabled, `rippled` prioritizes key reset transactions above other transactions even though the nominal transaction cost of a key reset transaction is zero.
|
||||
|
||||
|
||||
@@ -518,6 +518,7 @@ API methods for the Websocket and JSON-RPC APIs are defined by command names, an
|
||||
* [`account_offers` - Get info about an account's currency exchange offers](#account-offers)
|
||||
* [`account_tx` - Get info about an account's transactions](#account-tx)
|
||||
* [`book_offers` - Get info about offers to exchange two currencies](#book-offers)
|
||||
* [`fee` - Get information about transaction cost](#fee)
|
||||
* [`gateway_balances` - Calculate total amounts issued by an account](#gateway-balances)
|
||||
* [`ledger` - Get info about a ledger version](#ledger)
|
||||
* [`ledger_closed` - Get the latest closed ledger version](#ledger-closed)
|
||||
@@ -549,7 +550,6 @@ The `owner_info` command is deprecated. Use [`account_objects`](#account-objects
|
||||
* [`connect` - Force the rippled server to connect to a specific peer](#connect)
|
||||
* [`consensus_info` - Get information about the state of consensus as it happens](#consensus-info)
|
||||
* [`feature` - Get information about protocol amendments](#feature)
|
||||
* [`fee` - Get information about transaction cost](#fee)
|
||||
* [`fetch_info` - Get information about the server's sync with the network](#fetch-info)
|
||||
* [`get_counts` - Get statistics about the server's internals and memory usage](#get-counts)
|
||||
* [`ledger_accept` - Close and advance the ledger in stand-alone mode](#ledger-accept)
|
||||
@@ -3012,7 +3012,7 @@ The response follows the [standard format](#response-formatting), with a success
|
||||
| account\_id | String | The [Address][] of the account. |
|
||||
| public\_key | String | The public key of the account, in encoded string format. |
|
||||
| public\_key\_hex | String | The public key of the account, in hex format. |
|
||||
{#| warning | String | (May be omitted) If the request specified a seed value, this field provides a warning that it may be insecure. TODO: uncomment when this gets added in 0.32.0 |#}
|
||||
| warning | String | (May be omitted) If the request specified a seed value, this field provides a warning that it may be insecure. _(New in [version 0.32.0][])_ |
|
||||
|
||||
The key generated by this method can also be used as a regular key for an account if you use the [SetRegularKey transaction type](reference-transaction-format.html#setregularkey) to do so.
|
||||
|
||||
@@ -7648,23 +7648,46 @@ The validations stream sends messages whenever it receives validation messages,
|
||||
|
||||
```
|
||||
{
|
||||
"type": "validationReceived",
|
||||
"ledger_hash": "8F77146B9DFE3E48213677DA0826839DFA3666228322684DF5D775A8A4F76401",
|
||||
"ledger_index": "20504721",
|
||||
"signature": "3045022100DFFE4A50B4BD3BD33C280E3DEC9897413C299036531F3156FFDEEDED9E47005702202725D2DDF8F7F8E7C0D89787C0291D3CBE5FE3BF66503FC3AE77ADE15A78B0D9",
|
||||
"validation_public_key": "n9LDGC4SaEgtVXSjFNKHh6BPSUAuccZ8uKdEAoQUDQ1x2jqunEXr"
|
||||
"type": "validationReceived",
|
||||
"amendments":[
|
||||
"42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
|
||||
"4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
|
||||
"6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC",
|
||||
"C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490",
|
||||
"DA1BD556B42D85EA9C84066D028D355B52416734D3283F85E216EA5DA6DB7E13"
|
||||
],
|
||||
"base_fee":10,
|
||||
"flags":2147483649,
|
||||
"full":true,
|
||||
"ledger_hash":"EC02890710AAA2B71221B0D560CFB22D64317C07B7406B02959AD84BAD33E602",
|
||||
"ledger_index":"6",
|
||||
"load_fee":256000,
|
||||
"reserve_base":20000000,
|
||||
"reserve_inc":5000000,
|
||||
"signature":"3045022100E199B55643F66BC6B37DBC5E185321CF952FD35D13D9E8001EB2564FFB94A07602201746C9A4F7A93647131A2DEB03B76F05E426EC67A5A27D77F4FF2603B9A528E6",
|
||||
"signing_time":515115322,
|
||||
"validation_public_key":"n94Gnc6svmaPPRHUAyyib1gQUov8sYbjLoEwUBYPH39qHZXuo8ZT"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
The fields from a validations stream message are as follows:
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| type | String | `validationReceived` indicates this is from the validations stream |
|
||||
| ledger\_hash | String | The identifying hash of the proposed ledger is being validated. |
|
||||
| ledger\_index | String - Integer | The [Ledger Index][] of the proposed ledger. _(New in [version 0.31.0][])_ |
|
||||
| signature | String | The signature that the validator used to sign its vote for this ledger. |
|
||||
| validation\_public\_key | String | The base-58 encoded public key from the key-pair that the validator used to sign the message. This identifies the validator sending the message and can also be used to verify the `signature`. |
|
||||
| `type` | String | The value `validationReceived` indicates this is from the validations stream. |
|
||||
| `amendments` | Array of Strings | (May be omitted) The [amendments](concept-amendments.html) this server wants to be added to the protocol. _(New in [version 0.32.0][])_ |
|
||||
| `base_fee` | Integer | (May be omitted) The unscaled transaction cost (`reference_fee` value) this server wants to set by [Fee Voting](concept-fee-voting.html). _(New in [version 0.32.0][])_ |
|
||||
| `flags` | Number | Bit-mask of flags added to this validation message. The flag 0x80000000 indicates that the validation signature is fully-canonical. The flag 0x00000001 indicates that this is a full validation; otherwise it's a partial validation. <!--{# TODO: what's a partial validation? #}--> _(New in [version 0.32.0][])_ |
|
||||
| `full` | Boolean | If `true`, this is a full validation. Otherwise, this is a partial validation. _(New in [version 0.32.0][])_ |
|
||||
| `ledger_hash` | String | The identifying hash of the proposed ledger is being validated. |
|
||||
| `ledger_index` | String - Integer | The [Ledger Index][] of the proposed ledger. _(New in [version 0.31.0][])_ |
|
||||
| `load_fee` | Integer | (May be omitted) The local load-scaled transaction cost this validator is currently enforcing, in fee units. _(New in [version 0.32.0][])_ |
|
||||
| `reserve_base` | Integer | (May be omitted) The minimum reserve requirement (`account_reserve` value) this validator wants to set by [Fee Voting](concept-fee-voting.html). _(New in [version 0.32.0][])_ |
|
||||
| `reserve_inc` | Integer | (May be omitted) The increment in the reserve requirement (`owner_reserve` value) this validator wants to set by [Fee Voting](concept-fee-voting.html). _(New in [version 0.32.0][])_ |
|
||||
| `signature` | String | The signature that the validator used to sign its vote for this ledger. |
|
||||
| `signing_time` | Number | When this validation vote was signed, in seconds since the [Ripple Epoch](#specifying-time). _(New in [version 0.32.0][])_ |
|
||||
| `validation_public_key` | String | The base-58 encoded public key from the key-pair that the validator used to sign the message. This identifies the validator sending the message and can also be used to verify the `signature`. |
|
||||
|
||||
|
||||
|
||||
@@ -8345,6 +8368,11 @@ The `info` object may have some arrangement of the following fields:
|
||||
| load.job\_types | Array | *Admin only* Information about the rate of different types of jobs the server is doing and how much time it spends on each. |
|
||||
| load.threads | Number | *Admin only* The number of threads in the server's main job pool. |
|
||||
| load\_factor | Number | The load factor the server is currently enforcing, as a multiplier on the base transaction cost. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor. **Note:** This `load_factor` is calculated as the ratio of the `load_factor` and the `load_base` that are reported by the [`server_state` command](#server-state) |
|
||||
| load\_factor\_local | Number | (May be omitted) Current multiplier to the [transaction cost][] based on load to this server. |
|
||||
| load\_factor\_net | Number | (May be omitted) Current multiplier to the [transaction cost][] being used by the rest of the network (estimated). |
|
||||
| load\_factor\_cluster | Number | (May be omitted) Current multiplier to the [transaction cost][] based on load to servers in [this cluster](tutorial-rippled-setup.html#clustering). |
|
||||
| load\_factor\_fee\_escalation | Number | (May be omitted) The current multiplier to the [transaction cost][] that a transaction must pay to get into the open ledger. _(New in [version 0.32.0][])_ |
|
||||
| load\_factor\_fee\_queue | Number | (May be omitted) The current multiplier to the [transaction cost][] that a transaction must pay to get into the queue, if the queue is full. _(New in [version 0.32.0][])_ |
|
||||
| peers | Number | How many other `rippled` servers the node is currently connected to. |
|
||||
| pubkey_node | String | Public key used to verify this node for internal communications; this key is automatically generated by the server the first time it starts up. (If deleted, the node can create a new pair of keys.) |
|
||||
| pubkey\_validator | String | *Admin only* Public key used by this node to sign ledger validations. |
|
||||
@@ -8362,6 +8390,8 @@ The `info` object may have some arrangement of the following fields:
|
||||
| validated\_ledger.seq | Number - [Ledger Index][] | The ledger index of the latest validate ledger |
|
||||
| validation\_quorum | Number | Minimum number of trusted validations required to validate a ledger version. Some circumstances may cause the server to require more validations. |
|
||||
|
||||
[transaction cost]: concept-transaction-cost.html
|
||||
|
||||
#### Possible Errors ####
|
||||
|
||||
* Any of the [universal error types](#universal-errors).
|
||||
@@ -8624,8 +8654,14 @@ The `state` object may have some arrangement of the following fields:
|
||||
| load | Object | *Admin only* Detailed information about the current load state of the server |
|
||||
| load.job\_types | Array | *Admin only* Information about the rate of different types of jobs the server is doing and how much time it spends on each. |
|
||||
| load.threads | Number | *Admin only* The number of threads in the server's main job pool. |
|
||||
| load\_base | Number | This amount of server load is the baseline that is used to decide how much to charge in transaction fees; if the `load_factor` is equal to the `load_base` then only the base fee is enforced; if the `load_factor` is double the `load_base` then transaction fees are doubled. |
|
||||
| load\_factor | Number | The load factor the server is currently enforcing. The ratio between this value and the load\_base determines the multiplier for transaction fees. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor. |
|
||||
| load\_base | Integer | This amount of server load is the baseline that is used to decide how much to charge in transaction fees; if the `load_factor` is equal to the `load_base` then only the base fee is enforced; if the `load_factor` is double the `load_base` then transaction costs are doubled. |
|
||||
| load\_factor | Number | The load factor the server is currently enforcing. The ratio between this value and the `load_base` determines the multiplier for transaction fees. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor. |
|
||||
| load\_factor\_local | Integer | (May be omitted) The load factor based on load to this server. |
|
||||
| load\_factor\_net | Integer | (May be omitted) The load factor being used by the rest of the network (estimated). |
|
||||
| load\_factor\_cluster | Integer | (May be omitted) The load factor based on load to servers in [this cluster](tutorial-rippled-setup.html#clustering). |
|
||||
| load\_factor\_fee\_escalation | Integer | (May be omitted) The current multiplier to the [transaction cost][] that a transaction must pay to get into the open ledger, in fee levels. _(New in [version 0.32.0][])_ |
|
||||
| load\_factor\_fee\_queue | Integer | (May be omitted) The current multiplier to the [transaction cost][] that a transaction must pay to get into the queue, if the queue is full, in fee levels. _(New in [version 0.32.0][])_ |
|
||||
| load\_factor\_fee\_reference | Integer | (May be omitted) The [transaction cost][] with no load scaling, in fee levels. _(New in [version 0.32.0][])_ |
|
||||
| peers | Number | How many other `rippled` servers the node is currently connected to. |
|
||||
| pubkey\_node | String | Public key used by this server (along with the corresponding private key) for secure communications between nodes. This key pair is automatically created and stored in `rippled`'s local database the first time it starts up; if lost or deleted, a new key pair can be generated with no ill effects. |
|
||||
| pubkey\_validator | String | *Admin only* Public key of the keypair used by this server to sign proposed ledgers for validation. |
|
||||
@@ -9305,7 +9341,7 @@ The response follows the [standard format](#response-formatting), with a success
|
||||
|
||||
The `fee` command reports the current state of the open-ledger requirements for the [transaction cost](concept-transaction-cost.html). This requires the [FeeEscalation amendment](concept-amendments.html#feeescalation) to be enabled. _(New in [version 0.31.0][])_
|
||||
|
||||
_The `fee` method is an [admin command](#connecting-to-rippled) that cannot be run by unpriviledged users._
|
||||
_As of [version 0.32.0][], this is a public command available to unprivileged users._
|
||||
|
||||
#### Request Format ####
|
||||
An example of the request format:
|
||||
@@ -11318,3 +11354,4 @@ Example:
|
||||
[version 0.30.0]: https://github.com/ripple/rippled/releases/tag/0.30.0
|
||||
[version 0.30.1]: https://github.com/ripple/rippled/releases/tag/0.30.1
|
||||
[version 0.31.0]: https://github.com/ripple/rippled/releases/tag/0.31.0
|
||||
[version 0.32.0]: https://github.com/ripple/rippled/releases/tag/0.32.0
|
||||
|
||||
@@ -1049,6 +1049,7 @@ These codes indicate an error in the local server processing the transaction; it
|
||||
| telBAD\_DOMAIN | The transaction specified a domain value (for example, the `Domain` field of an [AccountSet transaction](#accountset)) that cannot be used, probably because it is too long to store in the ledger. |
|
||||
| telBAD\_PATH_COUNT | The transaction contains too many paths for the local server to process. |
|
||||
| telBAD\_PUBLIC\_KEY | The transaction specified a public key value (for example, as the `MessageKey` field of an [AccountSet transaction](#accountset)) that cannot be used, probably because it is too long. |
|
||||
| telCAN\_NOT\_QUEUE | The transaction did not meet the [open ledger cost](concept-transaction-cost.html), but this server did not queue it because it failed one of the server's heuristics for being "likely to succeed". You can try again later or sign and submit a replacement transaction with a higher transaction cost in the `Fee` field. |
|
||||
| telFAILED\_PROCESSING | An unspecified error occurred when processing the transaction. |
|
||||
| telINSUF\_FEE_P | The `Fee` from the transaction is not high enough to meet the server's current [transaction cost](concept-transaction-cost.html) requirement, which is derived from its load level. |
|
||||
| telLOCAL_ERROR | Unspecified local error. |
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
</aside>
|
||||
<main class="main" role="main">
|
||||
<div class='content'>
|
||||
<p style="margin-top: 1em; font-style: italic">Updated for <a href="https://github.com/ripple/ripple-lib/releases/0.17.1" title="view on GitHub">version 0.17.1</a></p>
|
||||
<p style="margin-top: 1em; font-style: italic">Updated for <a href="https://github.com/ripple/ripple-lib/releases/0.17.2" title="view on GitHub">version 0.17.2</a></p>
|
||||
<h1 id="introduction">Introduction</h1>
|
||||
<p>RippleAPI is the official client library to the Ripple Consensus Ledger. Currently, RippleAPI is only available in JavaScript.
|
||||
Using RippleAPI, you can:</p>
|
||||
@@ -1071,7 +1071,7 @@ const api = new RippleAPI();
|
||||
<tr>
|
||||
<td>transferRate</td>
|
||||
<td>number,null</td>
|
||||
<td><em>Optional</em> The fee to charge when users transfer this account’s issuances, represented as billionths of a unit. Use <code>null</code> to set no fee.</td>
|
||||
<td><em>Optional</em> The fee to charge when users transfer this account’s issuances, as the decimal amount that must be sent to deliver 1 unit. Has precision up to 9 digits beyond the decimal point. Use <code>null</code> to set no fee.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -4011,7 +4011,7 @@ return api.getOrderbook(address, orderbook)
|
||||
<tr>
|
||||
<td>transferRate</td>
|
||||
<td>number,null</td>
|
||||
<td><em>Optional</em> The fee to charge when users transfer this account’s issuances, represented as billionths of a unit. Use <code>null</code> to set no fee.</td>
|
||||
<td><em>Optional</em> The fee to charge when users transfer this account’s issuances, as the decimal amount that must be sent to deliver 1 unit. Has precision up to 9 digits beyond the decimal point. Use <code>null</code> to set no fee.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -861,6 +861,7 @@ Null method
|
||||
<li><a href="#account-offers"><code>account_offers</code> - Get info about an account's currency exchange offers</a></li>
|
||||
<li><a href="#account-tx"><code>account_tx</code> - Get info about an account's transactions</a></li>
|
||||
<li><a href="#book-offers"><code>book_offers</code> - Get info about offers to exchange two currencies</a></li>
|
||||
<li><a href="#fee"><code>fee</code> - Get information about transaction cost</a></li>
|
||||
<li><a href="#gateway-balances"><code>gateway_balances</code> - Calculate total amounts issued by an account</a></li>
|
||||
<li><a href="#ledger"><code>ledger</code> - Get info about a ledger version</a></li>
|
||||
<li><a href="#ledger-closed"><code>ledger_closed</code> - Get the latest closed ledger version</a></li>
|
||||
@@ -891,7 +892,6 @@ Null method
|
||||
<li><a href="#connect"><code>connect</code> - Force the rippled server to connect to a specific peer</a></li>
|
||||
<li><a href="#consensus-info"><code>consensus_info</code> - Get information about the state of consensus as it happens</a></li>
|
||||
<li><a href="#feature"><code>feature</code> - Get information about protocol amendments</a></li>
|
||||
<li><a href="#fee"><code>fee</code> - Get information about transaction cost</a></li>
|
||||
<li><a href="#fetch-info"><code>fetch_info</code> - Get information about the server's sync with the network</a></li>
|
||||
<li><a href="#get-counts"><code>get_counts</code> - Get statistics about the server's internals and memory usage</a></li>
|
||||
<li><a href="#ledger-accept"><code>ledger_accept</code> - Close and advance the ledger in stand-alone mode</a></li>
|
||||
@@ -3755,6 +3755,11 @@ Connecting to 127.0.0.1:5005
|
||||
<td>String</td>
|
||||
<td>The public key of the account, in hex format.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>warning</td>
|
||||
<td>String</td>
|
||||
<td>(May be omitted) If the request specified a seed value, this field provides a warning that it may be insecure. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The key generated by this method can also be used as a regular key for an account if you use the <a href="reference-transaction-format.html#setregularkey">SetRegularKey transaction type</a> to do so.</p>
|
||||
@@ -8945,12 +8950,27 @@ rippled book_offers 'USD/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' 'EUR/rvYAfWj5gh67oV6
|
||||
<p><em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.29.0">version 0.29.0</a>)</em></p>
|
||||
<p>The validations stream sends messages whenever it receives validation messages, also called validation votes, from validators it trusts. The message looks like the following:</p>
|
||||
<pre><code>{
|
||||
"type": "validationReceived",
|
||||
"ledger_hash": "8F77146B9DFE3E48213677DA0826839DFA3666228322684DF5D775A8A4F76401",
|
||||
"ledger_index": "20504721",
|
||||
"signature": "3045022100DFFE4A50B4BD3BD33C280E3DEC9897413C299036531F3156FFDEEDED9E47005702202725D2DDF8F7F8E7C0D89787C0291D3CBE5FE3BF66503FC3AE77ADE15A78B0D9",
|
||||
"validation_public_key": "n9LDGC4SaEgtVXSjFNKHh6BPSUAuccZ8uKdEAoQUDQ1x2jqunEXr"
|
||||
"type": "validationReceived",
|
||||
"amendments":[
|
||||
"42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
|
||||
"4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
|
||||
"6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC",
|
||||
"C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490",
|
||||
"DA1BD556B42D85EA9C84066D028D355B52416734D3283F85E216EA5DA6DB7E13"
|
||||
],
|
||||
"base_fee":10,
|
||||
"flags":2147483649,
|
||||
"full":true,
|
||||
"ledger_hash":"EC02890710AAA2B71221B0D560CFB22D64317C07B7406B02959AD84BAD33E602",
|
||||
"ledger_index":"6",
|
||||
"load_fee":256000,
|
||||
"reserve_base":20000000,
|
||||
"reserve_inc":5000000,
|
||||
"signature":"3045022100E199B55643F66BC6B37DBC5E185321CF952FD35D13D9E8001EB2564FFB94A07602201746C9A4F7A93647131A2DEB03B76F05E426EC67A5A27D77F4FF2603B9A528E6",
|
||||
"signing_time":515115322,
|
||||
"validation_public_key":"n94Gnc6svmaPPRHUAyyib1gQUov8sYbjLoEwUBYPH39qHZXuo8ZT"
|
||||
}
|
||||
|
||||
</code></pre>
|
||||
<p>The fields from a validations stream message are as follows:</p>
|
||||
<table>
|
||||
@@ -8963,27 +8983,67 @@ rippled book_offers 'USD/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' 'EUR/rvYAfWj5gh67oV6
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td><code>type</code></td>
|
||||
<td>String</td>
|
||||
<td><code>validationReceived</code> indicates this is from the validations stream</td>
|
||||
<td>The value <code>validationReceived</code> indicates this is from the validations stream.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ledger_hash</td>
|
||||
<td><code>amendments</code></td>
|
||||
<td>Array of Strings</td>
|
||||
<td>(May be omitted) The <a href="concept-amendments.html">amendments</a> this server wants to be added to the protocol. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>base_fee</code></td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The unscaled transaction cost (<code>reference_fee</code> value) this server wants to set by <a href="concept-fee-voting.html">Fee Voting</a>. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>flags</code></td>
|
||||
<td>Number</td>
|
||||
<td>Bit-mask of flags added to this validation message. The flag 0x80000000 indicates that the validation signature is fully-canonical. The flag 0x00000001 indicates that this is a full validation; otherwise it's a partial validation. <!-- --> <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>full</code></td>
|
||||
<td>Boolean</td>
|
||||
<td>If <code>true</code>, this is a full validation. Otherwise, this is a partial validation. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ledger_hash</code></td>
|
||||
<td>String</td>
|
||||
<td>The identifying hash of the proposed ledger is being validated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ledger_index</td>
|
||||
<td><code>ledger_index</code></td>
|
||||
<td>String - Integer</td>
|
||||
<td>The <a href="#ledger-index">Ledger Index</a> of the proposed ledger. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.31.0">version 0.31.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>signature</td>
|
||||
<td><code>load_fee</code></td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The local load-scaled transaction cost this validator is currently enforcing, in fee units. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>reserve_base</code></td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The minimum reserve requirement (<code>account_reserve</code> value) this validator wants to set by <a href="concept-fee-voting.html">Fee Voting</a>. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>reserve_inc</code></td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The increment in the reserve requirement (<code>owner_reserve</code> value) this validator wants to set by <a href="concept-fee-voting.html">Fee Voting</a>. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>signature</code></td>
|
||||
<td>String</td>
|
||||
<td>The signature that the validator used to sign its vote for this ledger.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>validation_public_key</td>
|
||||
<td><code>signing_time</code></td>
|
||||
<td>Number</td>
|
||||
<td>When this validation vote was signed, in seconds since the <a href="#specifying-time">Ripple Epoch</a>. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>validation_public_key</code></td>
|
||||
<td>String</td>
|
||||
<td>The base-58 encoded public key from the key-pair that the validator used to sign the message. This identifies the validator sending the message and can also be used to verify the <code>signature</code>.</td>
|
||||
</tr>
|
||||
@@ -9793,6 +9853,31 @@ rippled server_info
|
||||
<td>The load factor the server is currently enforcing, as a multiplier on the base transaction cost. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor. <strong>Note:</strong> This <code>load_factor</code> is calculated as the ratio of the <code>load_factor</code> and the <code>load_base</code> that are reported by the <a href="#server-state"><code>server_state</code> command</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_local</td>
|
||||
<td>Number</td>
|
||||
<td>(May be omitted) Current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> based on load to this server.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_net</td>
|
||||
<td>Number</td>
|
||||
<td>(May be omitted) Current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> being used by the rest of the network (estimated).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_cluster</td>
|
||||
<td>Number</td>
|
||||
<td>(May be omitted) Current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> based on load to servers in <a href="tutorial-rippled-setup.html#clustering">this cluster</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_fee_escalation</td>
|
||||
<td>Number</td>
|
||||
<td>(May be omitted) The current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> that a transaction must pay to get into the open ledger. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_fee_queue</td>
|
||||
<td>Number</td>
|
||||
<td>(May be omitted) The current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> that a transaction must pay to get into the queue, if the queue is full. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>peers</td>
|
||||
<td>Number</td>
|
||||
<td>How many other <code>rippled</code> servers the node is currently connected to.</td>
|
||||
@@ -10139,13 +10224,43 @@ rippled server_state
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_base</td>
|
||||
<td>Number</td>
|
||||
<td>This amount of server load is the baseline that is used to decide how much to charge in transaction fees; if the <code>load_factor</code> is equal to the <code>load_base</code> then only the base fee is enforced; if the <code>load_factor</code> is double the <code>load_base</code> then transaction fees are doubled.</td>
|
||||
<td>Integer</td>
|
||||
<td>This amount of server load is the baseline that is used to decide how much to charge in transaction fees; if the <code>load_factor</code> is equal to the <code>load_base</code> then only the base fee is enforced; if the <code>load_factor</code> is double the <code>load_base</code> then transaction costs are doubled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor</td>
|
||||
<td>Number</td>
|
||||
<td>The load factor the server is currently enforcing. The ratio between this value and the load_base determines the multiplier for transaction fees. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor.</td>
|
||||
<td>The load factor the server is currently enforcing. The ratio between this value and the <code>load_base</code> determines the multiplier for transaction fees. The load factor is determined by the highest of the individual server's load factor, cluster's load factor, and the overall network's load factor.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_local</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The load factor based on load to this server.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_net</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The load factor being used by the rest of the network (estimated).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_cluster</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The load factor based on load to servers in <a href="tutorial-rippled-setup.html#clustering">this cluster</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_fee_escalation</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> that a transaction must pay to get into the open ledger, in fee levels. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_fee_queue</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The current multiplier to the <a href="concept-transaction-cost.html">transaction cost</a> that a transaction must pay to get into the queue, if the queue is full, in fee levels. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>load_factor_fee_reference</td>
|
||||
<td>Integer</td>
|
||||
<td>(May be omitted) The <a href="concept-transaction-cost.html">transaction cost</a> with no load scaling, in fee levels. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>peers</td>
|
||||
@@ -10929,7 +11044,7 @@ Connecting to 127.0.0.1:5005
|
||||
<h2 id="fee">fee</h2>
|
||||
<p><a href="https://github.com/ripple/rippled/blob/release/src/ripple/rpc/handlers/Fee1.cpp" title="Source">[Source]<br/></a></p>
|
||||
<p>The <code>fee</code> command reports the current state of the open-ledger requirements for the <a href="concept-transaction-cost.html">transaction cost</a>. This requires the <a href="concept-amendments.html#feeescalation">FeeEscalation amendment</a> to be enabled. <em>(New in <a href="https://github.com/ripple/rippled/releases/tag/0.31.0">version 0.31.0</a>)</em></p>
|
||||
<p><em>The <code>fee</code> method is an <a href="#connecting-to-rippled">admin command</a> that cannot be run by unpriviledged users.</em></p>
|
||||
<p><em>As of <a href="https://github.com/ripple/rippled/releases/tag/0.32.0">version 0.32.0</a>, this is a public command available to unprivileged users.</em></p>
|
||||
<h4 id="request-format-37">Request Format</h4>
|
||||
<p>An example of the request format:</p>
|
||||
<div class="multicode" id="code-73"><ul class="codetabs"><li><a href="#code-73-0">WebSocket</a></li><li><a href="#code-73-1">JSON-RPC</a></li><li><a href="#code-73-2">Commandline</a></li></ul>
|
||||
|
||||
@@ -1735,6 +1735,10 @@
|
||||
<td>The transaction specified a public key value (for example, as the <code>MessageKey</code> field of an <a href="#accountset">AccountSet transaction</a>) that cannot be used, probably because it is too long.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>telCAN_NOT_QUEUE</td>
|
||||
<td>The transaction did not meet the <a href="concept-transaction-cost.html">open ledger cost</a>, but this server did not queue it because it failed one of the server's heuristics for being "likely to succeed". You can try again later or sign and submit a replacement transaction with a higher transaction cost in the <code>Fee</code> field.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>telFAILED_PROCESSING</td>
|
||||
<td>An unspecified error occurred when processing the transaction.</td>
|
||||
</tr>
|
||||
|
||||
@@ -78,7 +78,7 @@ pages:
|
||||
category: References
|
||||
html: reference-rippleapi.html
|
||||
# Currently this is the only page that's fetched remotely.
|
||||
md: https://raw.githubusercontent.com/ripple/ripple-lib/0.17.1/docs/index.md
|
||||
md: https://raw.githubusercontent.com/ripple/ripple-lib/0.17.2/docs/index.md
|
||||
ripple.com: https://ripple.com/build/rippleapi/
|
||||
filters:
|
||||
- remove_doctoc
|
||||
|
||||
Reference in New Issue
Block a user