mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-14 00:35:50 +00:00
Fix more links; move issued currencies concept
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
# Issuing and Operational Addresses
|
||||
|
||||
{% include '_snippets/issuing-and-operational-addresses-intro.md' %}
|
||||
<!--{#_ #}-->
|
||||
|
||||
## Funds Lifecycle
|
||||
|
||||
@@ -10,7 +11,7 @@ All non-XRP currency balances (issuances) in the XRP Ledger are tied to accounti
|
||||
|
||||
When the issuing address sends payments, it creates balances in the accounting relationships in the XRP Ledger. Within the XRP Ledger, users can exchange balances across different accounting relationships, so we use the term _issuances_ to describe any non-XRP balance. Issuances have negative value from the perspective of the issuing address, since they represent obligations. The same issuances have positive value from the perspective of the issuing address's counterparties. When the issuing address receives a payment, this reduces its obligations, erasing the issuances that were sent.
|
||||
|
||||
The issuing address sends issuances to a standby address, or directly to an operational address. The standby addresses send those issuances to operational addresses. Operational addresses send payments to other counterparties, such as liquidity providers, partners, and other customers. Because all issuances are tied to accounting relationships with the issuing address, payments and exchanges of issuances "ripple through" the issuing address. The payment debits the sender's balance in its accounting relationship with the issuing address and credits the recipient's balance in the recipient's accounting relationship with the issuing address. The XRP Ledger also supports more complicated [paths](paths.html) that connect multiple issuers through order books and [liquidity providers who allow their funds to ripple](noripple.html).
|
||||
The issuing address sends issuances to a standby address, or directly to an operational address. The standby addresses send those issuances to operational addresses. Operational addresses send payments to other counterparties, such as liquidity providers, partners, and other customers. Because all issuances are tied to accounting relationships with the issuing address, payments and exchanges of issuances "ripple through" the issuing address. The payment debits the sender's balance in its accounting relationship with the issuing address and credits the recipient's balance in the recipient's accounting relationship with the issuing address. The XRP Ledger also supports more complicated [paths](paths.html) that connect multiple issuers through order books and [liquidity providers who allow their funds to ripple](rippling.html).
|
||||
|
||||
## Issuing Address
|
||||
|
||||
@@ -194,7 +194,7 @@ The `catch` method ends this Promise chain. The callback provided here runs if a
|
||||
|
||||
# Waiting for Validation
|
||||
|
||||
One of the biggest challenges in using the XRP Ledger (or any decentralized system) is knowing the final, immutable transaction results. Even if you [follow the best practices](tutorial-reliable-transaction-submission.html) you still have to wait for the [consensus process](https://ripple.com/build/ripple-ledger-consensus-process/) to finally accept or reject your transaction. The following example code demonstrates how to wait for the final outcome of a transaction:
|
||||
One of the biggest challenges in using the XRP Ledger (or any decentralized system) is knowing the final, immutable transaction results. Even if you [follow the best practices](reliable-transaction-submission.html) you still have to wait for the [consensus process](https://ripple.com/build/ripple-ledger-consensus-process/) to finally accept or reject your transaction. The following example code demonstrates how to wait for the final outcome of a transaction:
|
||||
|
||||
```
|
||||
{% include '_code-samples/rippleapi_quickstart/submit-and-verify.js' %}
|
||||
@@ -204,9 +204,9 @@ This code creates and submits an order transaction, although the same principles
|
||||
|
||||
In rare cases (particularly with a large delay or a loss of power), the `rippled` server may be missing a ledger version between when you submitted the transaction and when you determined that the network has passed the `maxLedgerVersion`. In this case, you cannot be definitively sure whether the transaction has failed, or has been included in one of the missing ledger versions. RippleAPI returns `MissingLedgerHistoryError` in this case.
|
||||
|
||||
If you are the administrator of the `rippled` server, you can [manually request the missing ledger(s)](reference-rippled.html#ledger-request). Otherwise, you can try checking the ledger history using a different server. (Ripple runs a public full-history server at `s2.ripple.com` for this purpose.)
|
||||
If you are the administrator of the `rippled` server, you can [manually request the missing ledger(s)](ledger_request.html). Otherwise, you can try checking the ledger history using a different server. (Ripple runs a public full-history server at `s2.ripple.com` for this purpose.)
|
||||
|
||||
See [Reliable Transaction Submission](tutorial-reliable-transaction-submission.html) for a more thorough explanation.
|
||||
See [Reliable Transaction Submission](reliable-transaction-submission.html) for a more thorough explanation.
|
||||
|
||||
# RippleAPI in Web Browsers
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ This tutorial walks through the steps required to assign a regular key pair to y
|
||||
|
||||
## 1. Generate a Key Pair
|
||||
|
||||
Use the [`wallet_propose`](reference-rippled.html#wallet-propose) method to generate the key pair that you'll assign to your account as a regular key pair.
|
||||
Use the [wallet_propose method][] to generate the key pair that you'll assign to your account as a regular key pair.
|
||||
|
||||
### Request Format
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Use the [server_info method][] to check the state of your server relative to the
|
||||
* `proposing`
|
||||
* `validating`
|
||||
|
||||
For more information, see [Possible Server States](reference-rippled.html#possible-server-states).
|
||||
For more information, see [Possible Server States](rippled-server-states.html).
|
||||
|
||||
## 3. (Optional) Retrieve specific ledger versions.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Operating rippled Servers
|
||||
|
||||
The core server of the XRP Ledger peer-to-peer network is [`rippled`](reference-rippled.html). Anyone can run their own `rippled` server that follows the network and keeps a complete copy of the XRP Ledger. You can even have your server take part in the consensus process.
|
||||
The core server of the XRP Ledger peer-to-peer network is [`rippled`](the-rippled-server.html). Anyone can run their own `rippled` server that follows the network and keeps a complete copy of the XRP Ledger. You can even have your server take part in the consensus process.
|
||||
|
||||
This page contains instructions for:
|
||||
|
||||
@@ -21,4 +21,4 @@ Changes to the `[debug_logfile]` or `[database_path]` sections may require you t
|
||||
|
||||
Restart `rippled` for any configuration changes to take effect:
|
||||
|
||||
$ sudo service rippled restart
|
||||
$ sudo service rippled restart
|
||||
|
||||
@@ -122,7 +122,7 @@ _Websocket_
|
||||
|
||||
In the above example, `r3wN3v2vTUkr5qd6daqDc2xE4LSysdVjkT` is the sender of the escrow, and the increase in `Balance` from 99999**8**9990 drops to 99999**9**9990 drops represents the return of the escrowed 10,000 drops of XRP (0.01 XRP).
|
||||
|
||||
**Tip:** If you don't know what `OfferSequence` to use in the [EscrowFinish transaction][] to execute an escrow, use the [`tx` method](reference-rippled.html) to look up the transaction that created the escrow, using the identifying hash of the transaction in the Escrow's `PreviousTxnID` field. Use the `Sequence` value of that transaction as the `OfferSequence` value when finishing the escrow.
|
||||
**Tip:** If you don't know what `OfferSequence` to use in the [EscrowFinish transaction][] to execute an escrow, use the [tx method][] to look up the transaction that created the escrow, using the identifying hash of the transaction in the Escrow's `PreviousTxnID` field. Use the `Sequence` value of that transaction as the `OfferSequence` value when finishing the escrow.
|
||||
|
||||
|
||||
{% include '_snippets/tx-type-links.md' %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Use Payment Channels
|
||||
|
||||
Payment Channels are an advanced feature for sending "asynchronous" XRP payments that can be divided into very small increments and settled later. This tutorial walks through the entire process of using a [payment channel](payment-channels.html), with examples using the [JSON-RPC API](reference-rippled.html) of a local `rippled` server.
|
||||
Payment Channels are an advanced feature for sending "asynchronous" XRP payments that can be divided into very small increments and settled later. This tutorial walks through the entire process of using a [payment channel](payment-channels.html), with examples using the [JSON-RPC API](rippled-api.html) of a local `rippled` server.
|
||||
|
||||
Ideally, to step through this tutorial, you would have two people, each with the keys to a [funded XRP Ledger account](accounts.html). However, you can also step through the tutorial as one person managing two XRP Ledger addresses.
|
||||
|
||||
@@ -418,7 +418,7 @@ Response:
|
||||
}
|
||||
}
|
||||
|
||||
The payee should confirm that this transaction is successful in a validated ledger. For the full details, see [Reliable Transaction Submission](tutorial-reliable-transaction-submission.html).
|
||||
The payee should confirm that this transaction is successful in a validated ledger. For the full details, see [Reliable Transaction Submission](reliable-transaction-submission.html).
|
||||
|
||||
## 9. When the payer and payee are done doing business, the payer requests for the channel to be closed.
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ If a power or network outage occurs, applications face more challenges finding t
|
||||
|
||||
### Transaction Timeline
|
||||
|
||||
The XRP Ledger provides several APIs for submitting transactions, including [`rippled`](reference-rippled.html), and [RippleAPI](rippleapi-reference.html). Regardless of the API used, the transaction is applied to the ledger as follows.
|
||||
The XRP Ledger provides several APIs for submitting transactions, including [`rippled` API](rippled-api.html), and [RippleAPI](rippleapi-reference.html). Regardless of the API used, the transaction is applied to the ledger as follows.
|
||||
|
||||
1. An account owner creates and signs a transaction.
|
||||
2. The owner submits the transaction to the network as a candidate transaction.
|
||||
@@ -167,7 +167,7 @@ To implement the transaction submission and verification best practices, applica
|
||||
|
||||
How the application does these actions depends on the API the application uses. An application may use any of the following interfaces:
|
||||
|
||||
1. [`rippled`'s internal APIs](reference-rippled.html)
|
||||
1. The [`rippled` API](rippled-api.html)
|
||||
2. [RippleAPI](rippleapi-reference.html)
|
||||
3. Any number of other software APIs layered on top of `rippled`
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ The XRP Ledger contains a currency exchange, where any user can place and fulfil
|
||||
|
||||
Currency traders who hold a gateway's issuances can provide liquidity to other popular currencies, without the gateway needing to float a large reserve in various destination currencies. The gateway also does not need to take on the risk of financial exchange. However, a gateway may still want to provide liquidity to XRP or other popular currencies at a baseline rate, especially when the gateway is new to the exchange. If you do provide liquidity, use a different address for trading than your issuing address.
|
||||
|
||||
Third-party liquidity providers can use the [`rippled` APIs](reference-rippled.html), [RippleAPI JavaScript Library](rippleapi-reference.html), or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using [ripple.txt](#rippletxt), so it can be helpful to publish a good ripple.txt.
|
||||
Third-party liquidity providers can use the [`rippled` APIs](rippled-api.html), [RippleAPI JavaScript Library](rippleapi-reference.html), or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using [ripple.txt](#rippletxt), so it can be helpful to publish a good ripple.txt.
|
||||
|
||||
Contact [partners@ripple.com](mailto:partners@ripple.com) for help establishing liquidity between your gateway and others.
|
||||
|
||||
@@ -374,7 +374,7 @@ Contact [partners@ripple.com](mailto:partners@ripple.com) to see how Ripple can
|
||||
|
||||
There are several interfaces you can use to connect to the XRP Ledger, depending on your needs and your existing software:
|
||||
|
||||
* [`rippled`](reference-rippled.html) provides JSON-RPC and WebSocket APIs that can be used as a low-level interface to all core XRP Ledger functionality.
|
||||
* [`rippled`](rippled-api.html) provides JSON-RPC and WebSocket APIs that can be used as a low-level interface to all core XRP Ledger functionality.
|
||||
* [RippleAPI](rippleapi-reference.html) provides a simplified API for JavaScript applications.
|
||||
|
||||
|
||||
@@ -387,7 +387,7 @@ The examples in this document show API methods that include a secret key. This i
|
||||
|
||||
## DefaultRipple
|
||||
|
||||
The DefaultRipple flag controls whether the balances in an accounting relationship [allowed to ripple](noripple.html) by default. Rippling is what allows customers to trade issuances, so a gateway must allow rippling on all the accounting relationships to its issuing address.
|
||||
The DefaultRipple flag controls whether the balances in an accounting relationship [allowed to ripple](rippling.html) by default. Rippling is what allows customers to trade issuances, so a gateway must allow rippling on all the accounting relationships to its issuing address.
|
||||
|
||||
Before asking customers to create accounting relationships to its issuing address, a gateway should enable the DefaultRipple flag on that address. Otherwise, the gateway must individually disable the NoRipple flag for each accounting relationship that other addresses have created.
|
||||
|
||||
@@ -441,7 +441,7 @@ Response:
|
||||
}
|
||||
```
|
||||
|
||||
To confirm that an address has DefaultRipple enabled, look up the address using the [account_info command](reference-rippled.html#account-info), specifying a validated ledger version. Use [a bitwise-AND operator](https://en.wikipedia.org/wiki/Bitwise_operation#AND) to compare the `Flags` field with 0x00800000 (the [ledger flag lsfDefaultRipple](reference-ledger-format.html#accountroot-flags)). If the result of the bitwise-AND operation is nonzero, then the address has DefaultRipple enabled.
|
||||
To confirm that an address has DefaultRipple enabled, look up the address using the [account_info command](reference-rippled.html#account-info), specifying a validated ledger version. Use [a bitwise-AND operator](https://en.wikipedia.org/wiki/Bitwise_operation#AND) to compare the `Flags` field with 0x00800000 (the [ledger flag lsfDefaultRipple](accountroot.html#accountroot-flags)). If the result of the bitwise-AND operation is nonzero, then the address has DefaultRipple enabled.
|
||||
|
||||
|
||||
## Generating Source and Destination Tags
|
||||
@@ -607,7 +607,7 @@ POST http://localhost:5005/
|
||||
|
||||
If you are using the [Authorized Trust Lines](authorized-trust-lines.html) feature, customers cannot hold balances you issue unless you first authorize their accounting relationships to you in the XRP Ledger.
|
||||
|
||||
To authorize an accounting relationship, submit a TrustSet transaction from your issuing address, with the user to trust as the `issuer` of the `LimitAmount`. Leave the `value` (the amount to trust them for) as **0**, and enable the [tfSetfAuth](reference-transaction-format.html#trustset-flags) flag for the transaction.
|
||||
To authorize an accounting relationship, submit a TrustSet transaction from your issuing address, with the user to trust as the `issuer` of the `LimitAmount`. Leave the `value` (the amount to trust them for) as **0**, and enable the [tfSetfAuth](trustset.html#trustset-flags) flag for the transaction.
|
||||
|
||||
The following is an example of using a locally-hosted `rippled`'s [submit method][] to send a TrustSet transaction authorizing the customer address rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn to hold issuances of USD from the issuing address rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW:
|
||||
|
||||
@@ -654,7 +654,7 @@ To make things simpler for your customers, we recommend accepting payments to ei
|
||||
|
||||
As an added precaution, we recommend comparing the balances of your issuing address with the collateral funds in your internal accounting system as of each new XRP Ledger ledger version. The issuing address's negative balances should match the assets you have allocated to XRP Ledger outside the network. If the two do not match up, then you should suspend processing payments into and out of the XRP Ledger until you have resolved the discrepancy.
|
||||
|
||||
* Use [`rippled`'s `gateway_balances` command](reference-rippled.html#gateway-balances) or [RippleAPI's `getTrustlines` method](rippleapi-reference.html#gettrustlines) to check your balances.
|
||||
* Use `rippled`'s [gateway_balances method][] or [RippleAPI's `getTrustlines` method](rippleapi-reference.html#gettrustlines) to check your balances.
|
||||
* If you have a [TransferRate](#transferrate) set, then your obligations within the XRP Ledger decrease slightly whenever other XRP Ledger addresses transfer your issuances among themselves.
|
||||
|
||||
|
||||
@@ -830,7 +830,7 @@ To submit transactions reliably, follow these guidelines:
|
||||
* Use the `LastLedgerSequence` parameter. (RippleAPI does this by default.)
|
||||
* Resubmit a transaction if it has not appeared in a validated ledger whose sequence number is less than or equal to the transaction's `LastLedgerSequence` parameter.
|
||||
|
||||
For more information, see [Reliable Transaction Submission](tutorial-reliable-transaction-submission.html).
|
||||
For more information, see [Reliable Transaction Submission](reliable-transaction-submission.html).
|
||||
|
||||
|
||||
## ripple.txt
|
||||
|
||||
@@ -330,6 +330,15 @@ pages:
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: concepts/issued-currencies/issuing-and-operational-addresses.md
|
||||
html: issuing-and-operational-addresses.html
|
||||
funnel: Docs
|
||||
doc_type: Concepts
|
||||
category: Issued Currencies
|
||||
blurb: Businesses sending transactions on the XRP Ledger automatically should set up separate addresses for different purposes to minimize risk.
|
||||
targets:
|
||||
- local
|
||||
|
||||
- md: concepts/issued-currencies/paths.md
|
||||
html: paths.html
|
||||
funnel: Docs
|
||||
|
||||
Reference in New Issue
Block a user