mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-18 02:35:49 +00:00
Merge pull request #162 from mDuo13/rippled_updates_201601
Rippled updates 201601
This commit is contained in:
5
content/data_types/account_sequence.md
Normal file
5
content/data_types/account_sequence.md
Normal file
@@ -0,0 +1,5 @@
|
||||
A Sequence number is a 32-bit unsigned integer used to identify a transaction or Offer relative to a specific account.
|
||||
|
||||
Every [account object in the Ripple Consensus Ledger](ripple-ledger.html#accountroot) has a Sequence number, which starts at 1. For a transaction to be relayed to the network and possibly included in a validated ledger, it must have a `Sequence` field that matches the sending account's current `Sequence` number. An account's Sequence field is incremented whenever a transaction from that account is included in a validated ledger (regardless of whether the transaction succeeded or failed). This preserves the order of transactions submitted by an account, and differentiates transactions that would otherwise be identical.
|
||||
|
||||
Every [Offer node in the Ripple Consensus Ledger](ripple-ledger.html#offer) is marked with the sending `Account` [Address][] and the `Sequence` value of the [OfferCreate transaction](transactions.html#offercreate) that created it. These two fields, together, uniquely identify the Offer.
|
||||
22
content/data_types/address.md
Normal file
22
content/data_types/address.md
Normal file
@@ -0,0 +1,22 @@
|
||||
Ripple Accounts are identified by a base-58 Ripple Address, which is derived from the account's master public key. An address is represented as a String in JSON, with the following characteristics:
|
||||
|
||||
* Between 25 and 35 characters in length
|
||||
* Starts with the character `r`
|
||||
* Case-sensitive
|
||||
* [Base-58](https://wiki.ripple.com/Encodings) encoded using only the following characters: `rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz` That's alphanumeric characters, excluding zero (`0`), capital O (`O`), capital I (`I`), and lowercase L (`l`).
|
||||
* Contains error-checking that makes it unlikely that a randomly-generated string is a valid address.
|
||||
|
||||
#### Special Addresses ####
|
||||
[ACCOUNT_ONE]: #special-addresses
|
||||
[ACCOUNT_ZERO]: #special-addresses
|
||||
|
||||
Some addresses have special meaning, or historical uses, in the Ripple Consensus Ledger. In many cases, these are "black hole" addresses, meaning the address is not derived from a known secret key. Since it is almost impossible to guess a secret key from just an address, any XRP possessed by those addresses is lost forever.
|
||||
|
||||
| Address | Name | Meaning | Black Hole? |
|
||||
|-----------------------------|------|---------|-------------|
|
||||
| rrrrrrrrrrrrrrrrrrrrrhoLvTp | ACCOUNT\_ZERO | An address that is the base-58 encoding of the value `0`. In peer-to-peer communications, `rippled` uses this address as the issuer for XRP. | Yes |
|
||||
| rrrrrrrrrrrrrrrrrrrrBZbvji | ACCOUNT\_ONE | An address that is the base-58 encoding of the value `1`. In the ledger, [RippleState entries](ripple-ledger.html#ripplestate) use this address as a placeholder for the issuer of a trust line balance. | Yes |
|
||||
| rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh | The genesis account | When `rippled` starts a new genesis ledger from scratch (for example, in stand-alone mode), this account holds all the XRP. This address is generated from the seed value "masterpassphrase" which is [hard-coded](https://github.com/ripple/rippled/blob/94ed5b3a53077d815ad0dd65d490c8d37a147361/src/ripple/app/ledger/Ledger.cpp#L184). | No |
|
||||
| rrrrrrrrrrrrrrrrrNAMEtxvNvQ | Ripple Name reservation black-hole | In the past, Ripple asked users to send XRP to this account to reserve Ripple Names.| Yes |
|
||||
| rrrrrrrrrrrrrrrrrrrn5RM1rHd | NaN Address | Previous versions of [ripple-lib](https://github.com/ripple/ripple-lib) generated this address when base-58 encoding the value [NaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN). | Yes |
|
||||
|
||||
5
content/data_types/currency_code.md
Normal file
5
content/data_types/currency_code.md
Normal file
@@ -0,0 +1,5 @@
|
||||
There are two kinds of currency code in the Ripple Consensus Ledger:
|
||||
|
||||
* Three-character currency code. We recommend using all-uppercase [ISO 4217 Currency Codes](http://www.xe.com/iso4217.php). However, any combination of the following characters is permitted: all uppercase and lowercase letters, digits, as well as the symbols `?`, `!`, `@`, `#`, `$`, `%`, `^`, `&`, `*`, `<`, `>`, `(`, `)`, `{`, `}`, `[`, `]`, and <code>|</code>. The currency code `XRP` (all-uppercase) is reserved for XRP and cannot be used by issued currencies.
|
||||
* 160-bit hexadecimal values, such as `0158415500000000C1F76FF6ECB0BAC600000000`, according to Ripple's internal [Currency Format](https://wiki.ripple.com/Currency_format). This representation is uncommon.
|
||||
|
||||
10
content/data_types/hash.md
Normal file
10
content/data_types/hash.md
Normal file
@@ -0,0 +1,10 @@
|
||||
Many objects in Ripple, particularly transactions and ledgers, are uniquely identified by a 256-bit hash value. This value is typically calculated as a "SHA-512Half", which calculates a [SHA-512](http://dx.doi.org/10.6028/NIST.FIPS.180-4) hash from some contents, then takes the first 64 characters of the hexadecimal representation. Since the hash of an object is derived from the contents in a way that is extremely unlikely to produce collisions, two objects with the same hash can be considered identical.
|
||||
|
||||
A Ripple hash value has the following characteristics:
|
||||
|
||||
* Exactly 64 characters in length
|
||||
* [Hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) character set: 0-9 and A-F.
|
||||
* Typically written in upper case.
|
||||
|
||||
**Note:** SHA-512Half has similar security to the officially-defined _SHA-512/256_ hash function. However, Ripple's usage predates SHA-512/256 and is also easier to implement on top of an existing SHA-512 function. (As of this writing, SHA-512 support in cryptographic libraries is much more common than for SHA-512/256.)
|
||||
|
||||
6
content/data_types/ledger_index.md
Normal file
6
content/data_types/ledger_index.md
Normal file
@@ -0,0 +1,6 @@
|
||||
A ledger index is a 32-bit unsigned integer used to identify a ledger. The ledger index is also known as the ledger's sequence number. The very first ledger was ledger index 1, and each subsequent ledger has a ledger index 1 higher than that of the ledger immediately before it.
|
||||
|
||||
The ledger index indicates the order of the ledgers; the [Hash][] value identifies the exact contents of the ledger. Two ledgers with the same hash are always identical. For closed ledgers, hash values and sequence numbers are equally valid and correlate 1:1. However, this is not true for in-progress ledgers:
|
||||
|
||||
* Two different `rippled` servers may have different contents for a current ledger with the same ledger index, due to latency in propagating transactions throughout the network.
|
||||
* A current ledger's contents change over time, which would cause its hash to change, even though its ledger index number stays the same. Therefore, the hash of a ledger is not calculated until the ledger is closed.
|
||||
@@ -2996,26 +2996,13 @@ In other words, XRP has the same precision as a 64-bit unsigned integer where ea
|
||||
### Addresses ###
|
||||
[Address]: #addresses
|
||||
|
||||
Ripple Accounts are identified by a base-58 Ripple Address, which is derived from the account's master public key. An address is represented as a String in JSON, with the following characteristics:
|
||||
{% include 'data_types/address.md' %}
|
||||
|
||||
* Between 25 and 35 characters in length
|
||||
* Starts with the character `r`
|
||||
* Case-sensitive
|
||||
* Base-58 encoded using only the following characters: `rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz` That's alphanumeric characters, excluding zero (`0`), capital O (`O`), capital I (`I`), and lowercase L (`l`).
|
||||
* Contains error-checking that makes it unlikely that a randomly-generated string is a valid address.
|
||||
|
||||
### Hashes ###
|
||||
[Hash]: #hashes
|
||||
|
||||
Many objects in Ripple, particularly transactions and ledgers, are uniquely identified by a 256-bit hash value. This value is typically calculated as a "SHA-512Half", which calculates a SHA-512 hash from some contents, then takes the first 64 characters of the hexadecimal representation. Since the hash of an object is derived from the contents in a way that is extremely unlikely to produce collisions, two objects with the same hash can be considered identical.
|
||||
|
||||
A Ripple hash value has the following characteristics:
|
||||
|
||||
* Exactly 64 characters in length
|
||||
* [Hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) character set: 0-9 and A-F.
|
||||
* Typically written in upper case.
|
||||
|
||||
**Note:** SHA-512Half has similar security to the officially-defined _SHA-512/256_ hash function. However, Ripple's usage predates SHA-512/256 and is also easier to implement on top of an existing SHA-512 function (since support for SHA-512/256 is not common in cryptographic libraries as of this writing).
|
||||
{% include 'data_types/hash.md' %}
|
||||
|
||||
|
||||
### Timestamps ###
|
||||
@@ -3038,26 +3025,17 @@ All dates and times are written in ISO 8601 Timestamp Format, using UTC. This fo
|
||||
### Ledger Index ###
|
||||
[Ledger Index]: #ledger-index
|
||||
|
||||
A ledger index is a 32-bit unsigned integer used to identify a ledger. The ledger index is also known as the ledger's sequence number. The very first ledger was ledger index 1, and each subsequent ledger has a ledger index 1 higher than that of the ledger immediately before it.
|
||||
|
||||
Two ledgers with the same ledger index are guaranteed to have identical contents _if they are validated by consensus_. Ledgers that are not validated by consensus may have different contents even with the same ledger index. (The [Hash][] values of two ledgers can tell you whether those ledgers have the exact same contents.)
|
||||
{% include 'data_types/ledger_index.md' %}
|
||||
|
||||
### Account Sequence ###
|
||||
[Sequence Number]: #account-sequence
|
||||
|
||||
A Sequence number is a 32-bit unsigned integer used to identify a transaction or Offer relative to a specific account.
|
||||
|
||||
Every [account object in the Ripple Consensus Ledger](ripple-ledger.html#accountroot) has a Sequence number, which starts at 1. For a transaction to be relayed to the network and possibly included in a validated ledger, it must have a `Sequence` field that matches the sending account's current `Sequence` number. An account's Sequence field is incremented whenever a transaction from that account is included in a validated ledger (regardless of whether the transaction succeeded or failed). This preserves the order of transactions submitted by an account, and differentiates transactions that would otherwise be identical.
|
||||
|
||||
Every [Offer node in the Ripple Consensus Ledger](ripple-ledger.html#offer) is marked with the sending `Account` [Address][] and the `Sequence` value of the [OfferCreate transaction](transactions.html#offercreate) that created it. These two fields, together, uniquely identify the Offer.
|
||||
{% include 'data_types/account_sequence.md' %}
|
||||
|
||||
### Currency Code ###
|
||||
[Currency Code]: #currency-code
|
||||
|
||||
Currencies in Ripple can be represented in two ways:
|
||||
|
||||
* As three-letter [ISO 4217 Currency Codes](http://www.xe.com/iso4217.php). These currency codes must be written in uppercase ("USD" is valid, "usd" is not). Ripple permits currency codes that are not officially approved, including currency codes with digits in them.
|
||||
* As 160-bit hexadecimal values, such as `0158415500000000C1F76FF6ECB0BAC600000000`, according to Ripple's internal [Currency Format](https://wiki.ripple.com/Currency_format). This representation is uncommon.
|
||||
{% include 'data_types/currency_code.md' %}
|
||||
|
||||
## Pagination ##
|
||||
|
||||
|
||||
1229
content/rippled.md
1229
content/rippled.md
File diff suppressed because it is too large
Load Diff
@@ -467,8 +467,8 @@ The available AccountSet flags are:
|
||||
| asfDisallowXRP | 3 | XRP should not be sent to this account. (Enforced by client applications, not by `rippled`) | lsfDisallowXRP |
|
||||
| asfDisableMaster | 4 | Disallow use of the master key. Can only be enabled if the account has a [RegularKey](#setregularkey) configured. | lsfDisableMaster |
|
||||
| asfAccountTxnID | 5 | Track the ID of this account's most recent transaction. Required for [AccountTxnID](#accounttxnid) | (None) |
|
||||
| asfNoFreeze | 6 | Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled. | lsfNoFreeze |
|
||||
| asfGlobalFreeze | 7 | Freeze all assets issued by this account. | lsfGlobalFreeze |
|
||||
| asfNoFreeze | 6 | Permanently give up the ability to [freeze individual trust lines or disable Global Freeze](freeze.html). This flag can never be disabled after being enabled. | lsfNoFreeze |
|
||||
| asfGlobalFreeze | 7 | [Freeze](freeze.html) all assets issued by this account. | lsfGlobalFreeze |
|
||||
| asfDefaultRipple | 8 | Enable [rippling](https://ripple.com/knowledge_center/understanding-the-noripple-flag/) on this account's trust lines by default. _(New in [rippled 0.27.3](https://github.com/ripple/rippled/releases/tag/0.27.3))_ | lsfDefaultRipple |
|
||||
|
||||
_New in [rippled 0.28.0][]:_ You cannot send a transaction that enables `asfDisableMaster` or `asfNoFreeze` using a [regular key](#setregularkey). You must use the master key to sign the transaction.
|
||||
@@ -572,7 +572,7 @@ It is possible for an offer to become temporarily or permanently *unfunded*:
|
||||
|
||||
* If the creator no longer has any of the `TakerGets` currency.
|
||||
* The offer becomes funded again when the creator obtains more of that currency.
|
||||
* If the currency required to fund the offer is held in a [frozen trust line](https://wiki.ripple.com/Freeze).
|
||||
* If the currency required to fund the offer is held in a [frozen trust line](freeze.html).
|
||||
* The offer becomes funded again when the trust line is no longer frozen.
|
||||
* If the creator does not have enough XRP for the reserve amount of a new trust line required by the offer. (See [Offers and Trust](#offers-and-trust).)
|
||||
* The offer becomes funded again when the creator obtains more XRP, or the reserve requirements decrease.
|
||||
@@ -726,8 +726,8 @@ Transactions of the TrustSet type support additional values in the [`Flags` fiel
|
||||
| tfSetfAuth | 0x00010000 | 65536 | Authorize the other party to hold issuances from this account. (No effect unless using the [*asfRequireAuth* AccountSet flag](#accountset-flags).) Cannot be unset. |
|
||||
| tfSetNoRipple | 0x00020000 | 131072 | Blocks rippling between two trustlines of the same currency, if this flag is set on both. (See [No Ripple](https://ripple.com/knowledge_center/understanding-the-noripple-flag/) for details.) |
|
||||
| tfClearNoRipple | 0x00040000 | 262144 | Clears the No-Rippling flag. (See [No Ripple](https://ripple.com/knowledge_center/understanding-the-noripple-flag/) for details.) |
|
||||
| tfSetFreeze | 0x00100000 | 1048576 | [Freeze](https://wiki.ripple.com/Freeze) the trustline.
|
||||
| tfClearFreeze | 0x00200000 | 2097152 | Unfreeze the trustline. |
|
||||
| tfSetFreeze | 0x00100000 | 1048576 | [Freeze](freeze.html) the trustline.
|
||||
| tfClearFreeze | 0x00200000 | 2097152 | [Unfreeze](freeze.html) the trustline. |
|
||||
|
||||
|
||||
# Pseudo-Transactions #
|
||||
@@ -1016,7 +1016,7 @@ These codes indicate that the transaction failed, but it was applied to a ledger
|
||||
| tecNO\_AUTH | 134 | The transaction failed because it needs to add a balance on a trust line to an account with the `lsfRequireAuth` flag enabled, and that trust line has not been authorized. If the trust line does not exist at all, tecNO\_LINE occurs instead. |
|
||||
| tecNO\_LINE | 135 | The `TakerPays` field of the [OfferCreate transaction](#offercreate) specifies an asset whose issuer has `lsfRequireAuth` enabled, and the account making the offer does not have a trust line for that asset. (Normally, making an offer implicitly creates a trust line if necessary, but in this case it does not bother because you cannot hold the asset without authorization.) If the trust line exists, but is not authorized, tecNO\_AUTH occurs instead. |
|
||||
| tecINSUFF\_FEE | 136 | The account sending the transaction does not possess enough XRP to pay the specified `Fee`. This error only occurs if the transaction has already been propagated through the network to achieve consensus, |
|
||||
| tecFROZEN | 137 | The [OfferCreate transaction](#offercreate) failed because one or both of the assets involved are subject to a [global freeze](https://ripple.com/files/GB-2014-02.pdf). |
|
||||
| tecFROZEN | 137 | The [OfferCreate transaction](#offercreate) failed because one or both of the assets involved are subject to a [global freeze](freeze.html). |
|
||||
| tecNO\_TARGET | 138 | **FORTHCOMING** Part of multi-signature transactions. |
|
||||
| tecNO\_PERMISSION | 139 | **FORTHCOMING** Part of multi-signature transactions. |
|
||||
| tecNO\_ENTRY | 140 | **FORTHCOMING** Part of multi-signature transactions. |
|
||||
|
||||
@@ -4460,18 +4460,62 @@ Content-Type: image/svg+xml
|
||||
<li>Between 25 and 35 characters in length</li>
|
||||
<li>Starts with the character <code>r</code></li>
|
||||
<li>Case-sensitive</li>
|
||||
<li>Base-58 encoded using only the following characters: <code>rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz</code> That's alphanumeric characters, excluding zero (<code>0</code>), capital O (<code>O</code>), capital I (<code>I</code>), and lowercase L (<code>l</code>).</li>
|
||||
<li><a href="https://wiki.ripple.com/Encodings">Base-58</a> encoded using only the following characters: <code>rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz</code> That's alphanumeric characters, excluding zero (<code>0</code>), capital O (<code>O</code>), capital I (<code>I</code>), and lowercase L (<code>l</code>).</li>
|
||||
<li>Contains error-checking that makes it unlikely that a randomly-generated string is a valid address.</li>
|
||||
</ul>
|
||||
<h4 id="special-addresses">Special Addresses</h4>
|
||||
<p>Some addresses have special meaning, or historical uses, in the Ripple Consensus Ledger. In many cases, these are "black hole" addresses, meaning the address is not derived from a known secret key. Since it is almost impossible to guess a secret key from just an address, any XRP possessed by those addresses is lost forever.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Address</th>
|
||||
<th>Name</th>
|
||||
<th>Meaning</th>
|
||||
<th>Black Hole?</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>rrrrrrrrrrrrrrrrrrrrrhoLvTp</td>
|
||||
<td>ACCOUNT_ZERO</td>
|
||||
<td>An address that is the base-58 encoding of the value <code>0</code>. In peer-to-peer communications, <code>rippled</code> uses this address as the issuer for XRP.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rrrrrrrrrrrrrrrrrrrrBZbvji</td>
|
||||
<td>ACCOUNT_ONE</td>
|
||||
<td>An address that is the base-58 encoding of the value <code>1</code>. In the ledger, <a href="ripple-ledger.html#ripplestate">RippleState entries</a> use this address as a placeholder for the issuer of a trust line balance.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh</td>
|
||||
<td>The genesis account</td>
|
||||
<td>When <code>rippled</code> starts a new genesis ledger from scratch (for example, in stand-alone mode), this account holds all the XRP. This address is generated from the seed value "masterpassphrase" which is <a href="https://github.com/ripple/rippled/blob/94ed5b3a53077d815ad0dd65d490c8d37a147361/src/ripple/app/ledger/Ledger.cpp#L184">hard-coded</a>.</td>
|
||||
<td>No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rrrrrrrrrrrrrrrrrNAMEtxvNvQ</td>
|
||||
<td>Ripple Name reservation black-hole</td>
|
||||
<td>In the past, Ripple asked users to send XRP to this account to reserve Ripple Names.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rrrrrrrrrrrrrrrrrrrn5RM1rHd</td>
|
||||
<td>NaN Address</td>
|
||||
<td>Previous versions of <a href="https://github.com/ripple/ripple-lib">ripple-lib</a> generated this address when base-58 encoding the value <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN">NaN</a>.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="hashes">Hashes</h3>
|
||||
<p>Many objects in Ripple, particularly transactions and ledgers, are uniquely identified by a 256-bit hash value. This value is typically calculated as a "SHA-512Half", which calculates a SHA-512 hash from some contents, then takes the first 64 characters of the hexadecimal representation. Since the hash of an object is derived from the contents in a way that is extremely unlikely to produce collisions, two objects with the same hash can be considered identical.</p>
|
||||
<p>Many objects in Ripple, particularly transactions and ledgers, are uniquely identified by a 256-bit hash value. This value is typically calculated as a "SHA-512Half", which calculates a <a href="http://dx.doi.org/10.6028/NIST.FIPS.180-4">SHA-512</a> hash from some contents, then takes the first 64 characters of the hexadecimal representation. Since the hash of an object is derived from the contents in a way that is extremely unlikely to produce collisions, two objects with the same hash can be considered identical.</p>
|
||||
<p>A Ripple hash value has the following characteristics:</p>
|
||||
<ul>
|
||||
<li>Exactly 64 characters in length</li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/Hexadecimal">Hexadecimal</a> character set: 0-9 and A-F.</li>
|
||||
<li>Typically written in upper case.</li>
|
||||
</ul>
|
||||
<p><strong>Note:</strong> SHA-512Half has similar security to the officially-defined <em>SHA-512/256</em> hash function. However, Ripple's usage predates SHA-512/256 and is also easier to implement on top of an existing SHA-512 function (since support for SHA-512/256 is not common in cryptographic libraries as of this writing).</p>
|
||||
<p><strong>Note:</strong> SHA-512Half has similar security to the officially-defined <em>SHA-512/256</em> hash function. However, Ripple's usage predates SHA-512/256 and is also easier to implement on top of an existing SHA-512 function. (As of this writing, SHA-512 support in cryptographic libraries is much more common than for SHA-512/256.)</p>
|
||||
<h3 id="timestamps">Timestamps</h3>
|
||||
<p>All dates and times are written in ISO 8601 Timestamp Format, using UTC. This format is summarized as:</p>
|
||||
<p><code>YYYY-MM-DDThh:mm:ssZ</code></p>
|
||||
@@ -4487,16 +4531,20 @@ Content-Type: image/svg+xml
|
||||
<p>(As of <a href="https://github.com/ripple/rippled-historical-database/releases/tag/v2.0.4">v2.0.4</a>, the offset <code>+00:00</code> is no longer used.)</p>
|
||||
<h3 id="ledger-index">Ledger Index</h3>
|
||||
<p>A ledger index is a 32-bit unsigned integer used to identify a ledger. The ledger index is also known as the ledger's sequence number. The very first ledger was ledger index 1, and each subsequent ledger has a ledger index 1 higher than that of the ledger immediately before it.</p>
|
||||
<p>Two ledgers with the same ledger index are guaranteed to have identical contents <em>if they are validated by consensus</em>. Ledgers that are not validated by consensus may have different contents even with the same ledger index. (The <a href="#hashes">Hash</a> values of two ledgers can tell you whether those ledgers have the exact same contents.)</p>
|
||||
<p>The ledger index indicates the order of the ledgers; the <a href="#hashes">Hash</a> value identifies the exact contents of the ledger. Two ledgers with the same hash are always identical. For closed ledgers, hash values and sequence numbers are equally valid and correlate 1:1. However, this is not true for in-progress ledgers:</p>
|
||||
<ul>
|
||||
<li>Two different <code>rippled</code> servers may have different contents for a current ledger with the same ledger index, due to latency in propagating transactions throughout the network.</li>
|
||||
<li>A current ledger's contents change over time, which would cause its hash to change, even though its ledger index number stays the same. Therefore, the hash of a ledger is not calculated until the ledger is closed.</li>
|
||||
</ul>
|
||||
<h3 id="account-sequence">Account Sequence</h3>
|
||||
<p>A Sequence number is a 32-bit unsigned integer used to identify a transaction or Offer relative to a specific account.</p>
|
||||
<p>Every <a href="ripple-ledger.html#accountroot">account object in the Ripple Consensus Ledger</a> has a Sequence number, which starts at 1. For a transaction to be relayed to the network and possibly included in a validated ledger, it must have a <code>Sequence</code> field that matches the sending account's current <code>Sequence</code> number. An account's Sequence field is incremented whenever a transaction from that account is included in a validated ledger (regardless of whether the transaction succeeded or failed). This preserves the order of transactions submitted by an account, and differentiates transactions that would otherwise be identical.</p>
|
||||
<p>Every <a href="ripple-ledger.html#offer">Offer node in the Ripple Consensus Ledger</a> is marked with the sending <code>Account</code> <a href="#addresses">Address</a> and the <code>Sequence</code> value of the <a href="transactions.html#offercreate">OfferCreate transaction</a> that created it. These two fields, together, uniquely identify the Offer.</p>
|
||||
<h3 id="currency-code">Currency Code</h3>
|
||||
<p>Currencies in Ripple can be represented in two ways:</p>
|
||||
<p>There are two kinds of currency code in the Ripple Consensus Ledger:</p>
|
||||
<ul>
|
||||
<li>As three-letter <a href="http://www.xe.com/iso4217.php">ISO 4217 Currency Codes</a>. These currency codes must be written in uppercase ("USD" is valid, "usd" is not). Ripple permits currency codes that are not officially approved, including currency codes with digits in them.</li>
|
||||
<li>As 160-bit hexadecimal values, such as <code>0158415500000000C1F76FF6ECB0BAC600000000</code>, according to Ripple's internal <a href="https://wiki.ripple.com/Currency_format">Currency Format</a>. This representation is uncommon.</li>
|
||||
<li>Three-character currency code. We recommend using all-uppercase <a href="http://www.xe.com/iso4217.php">ISO 4217 Currency Codes</a>. However, any combination of the following characters is permitted: all uppercase and lowercase letters, digits, as well as the symbols <code>?</code>, <code>!</code>, <code>@</code>, <code>#</code>, <code>$</code>, <code>%</code>, <code>^</code>, <code>&</code>, <code>*</code>, <code><</code>, <code>></code>, <code>(</code>, <code>)</code>, <code>{</code>, <code>}</code>, <code>[</code>, <code>]</code>, and <code>|</code>. The currency code <code>XRP</code> (all-uppercase) is reserved for XRP and cannot be used by issued currencies.</li>
|
||||
<li>160-bit hexadecimal values, such as <code>0158415500000000C1F76FF6ECB0BAC600000000</code>, according to Ripple's internal <a href="https://wiki.ripple.com/Currency_format">Currency Format</a>. This representation is uncommon.</li>
|
||||
</ul>
|
||||
<h2 id="pagination">Pagination</h2>
|
||||
<p>Many queries may return more data than is reasonable to return in a single HTTP response. The Data API uses a "limit and marker" system to control how much is returned in a single response ("page") and to query for additional content.</p>
|
||||
|
||||
1289
rippled-apis.html
1289
rippled-apis.html
File diff suppressed because it is too large
Load Diff
@@ -746,13 +746,13 @@
|
||||
<tr>
|
||||
<td>asfNoFreeze</td>
|
||||
<td>6</td>
|
||||
<td>Permanently give up the ability to freeze individual trust lines. This flag can never be disabled after being enabled.</td>
|
||||
<td>Permanently give up the ability to <a href="freeze.html">freeze individual trust lines or disable Global Freeze</a>. This flag can never be disabled after being enabled.</td>
|
||||
<td>lsfNoFreeze</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>asfGlobalFreeze</td>
|
||||
<td>7</td>
|
||||
<td>Freeze all assets issued by this account.</td>
|
||||
<td><a href="freeze.html">Freeze</a> all assets issued by this account.</td>
|
||||
<td>lsfGlobalFreeze</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -914,7 +914,7 @@
|
||||
<ul>
|
||||
<li>If the creator no longer has any of the <code>TakerGets</code> currency.</li>
|
||||
<li>The offer becomes funded again when the creator obtains more of that currency.</li>
|
||||
<li>If the currency required to fund the offer is held in a <a href="https://wiki.ripple.com/Freeze">frozen trust line</a>.</li>
|
||||
<li>If the currency required to fund the offer is held in a <a href="freeze.html">frozen trust line</a>.</li>
|
||||
<li>The offer becomes funded again when the trust line is no longer frozen.</li>
|
||||
<li>If the creator does not have enough XRP for the reserve amount of a new trust line required by the offer. (See <a href="#offers-and-trust">Offers and Trust</a>.)</li>
|
||||
<li>The offer becomes funded again when the creator obtains more XRP, or the reserve requirements decrease.</li>
|
||||
@@ -1129,13 +1129,13 @@
|
||||
<td>tfSetFreeze</td>
|
||||
<td>0x00100000</td>
|
||||
<td>1048576</td>
|
||||
<td><a href="https://wiki.ripple.com/Freeze">Freeze</a> the trustline.</td>
|
||||
<td><a href="freeze.html">Freeze</a> the trustline.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>tfClearFreeze</td>
|
||||
<td>0x00200000</td>
|
||||
<td>2097152</td>
|
||||
<td>Unfreeze the trustline.</td>
|
||||
<td><a href="freeze.html">Unfreeze</a> the trustline.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1849,7 +1849,7 @@
|
||||
<tr>
|
||||
<td>tecFROZEN</td>
|
||||
<td>137</td>
|
||||
<td>The <a href="#offercreate">OfferCreate transaction</a> failed because one or both of the assets involved are subject to a <a href="https://ripple.com/files/GB-2014-02.pdf">global freeze</a>.</td>
|
||||
<td>The <a href="#offercreate">OfferCreate transaction</a> failed because one or both of the assets involved are subject to a <a href="freeze.html">global freeze</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>tecNO_TARGET</td>
|
||||
|
||||
Reference in New Issue
Block a user