diff --git a/concept-amendments.html b/concept-amendments.html index 389f757c63..780b0cfdbc 100644 --- a/concept-amendments.html +++ b/concept-amendments.html @@ -489,8 +489,8 @@ TrustSetAuth

Creates "Payment Channels" for XRP. Payment channels are a tool for facilitating repeated, unidirectional payments or temporary credit between two parties. Ripple expects this feature to be useful for the Interledger Protocol. One party creates a Payment Channel and sets aside some XRP in that channel for a predetermined expiration. Then, through off-ledger secure communications, the sender can send "Claim" messages to the receiver. The receiver can redeem the Claim messages before the expiration, or choose not to in case the payment is not needed. The receiver can verify Claims individually without actually distributing them to the network and waiting for the consensus process to redeem them, then redeem the batched content of many small Claims later, as long as it is within the expiration.

-

Creates three new transaction types: ChannelCreate, ChannelFund, and ChannelClaim. Creates a new ledger node type, Channel. Defines an off-ledger data structure called a Claim, used in the ChannelClaim transaction. Creates new rippled API methods: channel_authorize (creates a signed Claim), channel_verify (verifies a signed Claim), and account_channels (lists Channels associated with an account).

- +

Creates three new transaction types:[PaymentChannelCreate][], [PaymentChannelClaim][], and [PaymentChannelFund][]. Creates a new ledger node type, PayChannel. Defines an off-ledger data structure called a Claim, used in the ChannelClaim transaction. Creates new rippled API methods: channel_authorize (creates a signed Claim), channel_verify (verifies a signed Claim), and account_channels (lists Channels associated with an account).

+

For more information, see the Payment Channels Tutorial.

SHAMapV2

diff --git a/content/concept-amendments.md b/content/concept-amendments.md index 3bf894584c..658be28dd2 100644 --- a/content/concept-amendments.md +++ b/content/concept-amendments.md @@ -239,9 +239,9 @@ This Amendment requires the [Flow Amendment](#flow) to be enabled. Creates "Payment Channels" for XRP. Payment channels are a tool for facilitating repeated, unidirectional payments or temporary credit between two parties. Ripple expects this feature to be useful for the [Interledger Protocol](https://interledger.org/). One party creates a Payment Channel and sets aside some XRP in that channel for a predetermined expiration. Then, through off-ledger secure communications, the sender can send "Claim" messages to the receiver. The receiver can redeem the Claim messages before the expiration, or choose not to in case the payment is not needed. The receiver can verify Claims individually without actually distributing them to the network and waiting for the consensus process to redeem them, then redeem the batched content of many small Claims later, as long as it is within the expiration. -Creates three new transaction types: `ChannelCreate`, `ChannelFund`, and `ChannelClaim`. Creates a new ledger node type, `Channel`. Defines an off-ledger data structure called a `Claim`, used in the ChannelClaim transaction. Creates new `rippled` API methods: `channel_authorize` (creates a signed Claim), `channel_verify` (verifies a signed Claim), and `account_channels` (lists Channels associated with an account). +Creates three new transaction types:[PaymentChannelCreate][], [PaymentChannelClaim][], and [PaymentChannelFund][]. Creates a new ledger node type, [PayChannel](reference-ledger-format.html#paychannel). Defines an off-ledger data structure called a `Claim`, used in the ChannelClaim transaction. Creates new `rippled` API methods: `channel_authorize` (creates a signed Claim), `channel_verify` (verifies a signed Claim), and `account_channels` (lists Channels associated with an account). - +For more information, see the [Payment Channels Tutorial](tutorial-paychan.html). ## SHAMapV2 diff --git a/content/tutorial-paychan.md b/content/tutorial-paychan.md index 644a6e27eb..61b7cb4c64 100644 --- a/content/tutorial-paychan.md +++ b/content/tutorial-paychan.md @@ -20,12 +20,12 @@ The example addresses used in this tutorial are: | | | |--|--| -| Payer's address | rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH | -| Public key used for channel (in base58) | aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3 -| Public key used for channel (in hex) | 023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6 | -| Payee's address | rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn | +| **Payer's address** | rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH | +| **Public key used for channel (in base58)** | aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3 +| **Public key used for channel (in hex)** | 023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6 | +| **Payee's address** | rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn | -**Tip:** In this example, we use the public key from the payer's master key pair as the key pair for the channel. This is perfectly safe and valid. It is also perfectly safe and valid to use a different key pair, as long as only the payer knows the public and secret keys for that key pair. +**Tip:** In this example, the channel's public key is the public key from the payer's master key pair. This is perfectly safe and valid. It is also perfectly safe and valid to use a different key pair, as long as only the payer knows the public and secret keys for that key pair. Additionally, you'll need a `rippled` server to send transactions to. The examples in this tutorial assume a `rippled` server is running on the test machine (`localhost`) with an unencrypted JSON-RPC API endpoint on port **5005**. diff --git a/tool/dactyl-config.yml b/tool/dactyl-config.yml index 6a0434c322..6339dfd148 100644 --- a/tool/dactyl-config.yml +++ b/tool/dactyl-config.yml @@ -58,6 +58,7 @@ targets: "tutorial-rippleapi-beginners-guide.html": https://ripple.com/build/rippleapi-beginners-guide/ "tutorial-rippled-setup.html": https://ripple.com/build/rippled-setup/ "tutorial-gateway-guide.html": https://ripple.com/build/gateway-guide/ + "tutorial-paychan.html": https://ripple.com/build/payment-channels-tutorial/ "concept-accounts.html": https://ripple.com/build/accounts/ "concept-amendments.html": https://ripple.com/build/amendments/ "concept-fee-voting.html": https://ripple.com/build/fee-voting/ @@ -92,6 +93,7 @@ targets: "img/noripple-05.png": https://ripple.com/wp-content/uploads/2015/01/noripple-05.png "img/noripple-06.png": https://ripple.com/wp-content/uploads/2015/01/noripple-06.png "img/key-address-rels.png": https://ripple.com/wp-content/uploads/2017/05/key-address-rels.png + "img/paychan-flow.png": https://ripple.com/wp-content/uploads/2017/05/paychan-flow.png - name: rippled-setup display_name: rippled Setup Guide diff --git a/tutorial-paychan.html b/tutorial-paychan.html index 171e58405a..9a76acd9d7 100644 --- a/tutorial-paychan.html +++ b/tutorial-paychan.html @@ -182,24 +182,24 @@ - + - + - + - +
Payer's addressPayer's address rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH
Public key used for channel (in base58)Public key used for channel (in base58) aB44YfzW24VDEJQ2UuLPV2PvqcPCSoLnL7y5M1EzhdW4LnK5xMS3
Public key used for channel (in hex)Public key used for channel (in hex) 023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6
Payee's addressPayee's address rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn
-

Tip: In this example, we use the public key from the payer's master key pair as the key pair for the channel. This is perfectly safe and valid. It is also perfectly safe and valid to use a different key pair, as long as only the payer knows the public and secret keys for that key pair.

+

Tip: In this example, the channel's public key is the public key from the payer's master key pair. This is perfectly safe and valid. It is also perfectly safe and valid to use a different key pair, as long as only the payer knows the public and secret keys for that key pair.

Additionally, you'll need a rippled server to send transactions to. The examples in this tutorial assume a rippled server is running on the test machine (localhost) with an unencrypted JSON-RPC API endpoint on port 5005.

To test without transferring real XRP, you can use Ripple Test Net addresses with Test Net XRP. If you do use the Ripple Test Net, you can use the Test Net servers' JSON-RPC API by connecting to https://api.altnet.rippletest.net:51234 instead of http://localhost:5005/.

You can use any amount of XRP for the payment channels. The example values in this tutorial set aside 100 XRP (100000000 drops) in a payment channel for at least 1 day.