From bc12f086961db80a27b80ec665adbaace8ce5e58 Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Mon, 29 Aug 2016 12:51:50 -0700 Subject: [PATCH] multisign - update to reflect avaiability of multi-sign (DOC-450) (#206) * multisign - update to reflect avaiability of multi-sign (DOC-450) * tx format - update for released amendments * multisign - correction on starting from fresh ledger --- content/reference-transaction-format.md | 6 +++--- content/tutorial-multisign.md | 11 ++++++----- reference-transaction-format.html | 6 +++--- tutorial-multisign.html | 9 +++++---- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/content/reference-transaction-format.md b/content/reference-transaction-format.md index 4c335f5f22..6151060bdf 100644 --- a/content/reference-transaction-format.md +++ b/content/reference-transaction-format.md @@ -187,7 +187,7 @@ Example response from the `tx` command: ### Multi-Signing ### -Multi-signing in Ripple is the act of [authorizing transactions](#authorizing-transactions) for the Ripple Consensus Ledger by using a combination of multiple secret keys. Multi-signing is due to be enabled by an [Amendment](concept-amendments.html) to the Ripple Consensus Protocol. You can have any combination of authorization methods enabled for your address, including multi-signing, a master key, and a [regular key](#setregularkey). (The only requirement is that _at least one_ method must be enabled.) +Multi-signing in Ripple is the act of [authorizing transactions](#authorizing-transactions) for the Ripple Consensus Ledger by using a combination of multiple secret keys. You can have any combination of authorization methods enabled for your address, including multi-signing, a master key, and a [regular key](#setregularkey). (The only requirement is that _at least one_ method must be enabled.) The [SignerListSet transaction](#signerlistset) defines which addresses can authorize transactions from your address. You can include up to 8 addresses in a SignerList. You can control how many signatures are needed, in which combinations, by using the quorum and weight values of the SignerList. @@ -785,7 +785,7 @@ A trust line with settings in the default state is equivalent to no trust line. The default state of all flags is off, except for the [NoRipple flag](concept-noripple.html), whose default state depends on the DefaultRipple flag. -The Auth flag of a trust line does not determine whether the trust line counts towards its owner's XRP reserve requirement. However, an enabled Auth flag prevents the trust line from being in its default state. An authorized trust line can never be deleted. _(New in [rippled 0.30.0](https://github.com/ripple/rippled/releases/tag/0.30.0))_: The [`TrustSetAuth` Amendment](concept-amendments.html#trustsetauth) would allow you to pre-authorize a trust line with the `tfSetfAuth` flag only, even if the limit and balance of the trust line are 0. This Amendment is not currently enabled. +The Auth flag of a trust line does not determine whether the trust line counts towards its owner's XRP reserve requirement. However, an enabled Auth flag prevents the trust line from being in its default state. An authorized trust line can never be deleted. An issuer can pre-authorize a trust line with the `tfSetfAuth` flag only, even if the limit and balance of the trust line are 0. ### TrustSet Flags ### @@ -804,7 +804,7 @@ Transactions of the TrustSet type support additional values in the [`Flags` fiel ## SignerListSet ## [[Source]
](https://github.com/ripple/rippled/blob/ef511282709a6a0721b504c6b7703f9de3eecf38/src/ripple/app/tx/impl/SetSignerList.cpp "Source") -The SignerListSet transaction creates, replaces, or removes a list of signers that can be used to [multi-sign](#multi-signing) a transaction. This transaction type is introduced by the [MultiSign amendment](concept-amendments.html#multisign). _(New in [rippled 0.31.0][])_ +The SignerListSet transaction creates, replaces, or removes a list of signers that can be used to [multi-sign](#multi-signing) a transaction. This transaction type was introduced by the [MultiSign amendment](concept-amendments.html#multisign). _(New in [rippled 0.31.0][])_ [rippled 0.31.0]: https://github.com/ripple/rippled/releases/tag/0.31.0 diff --git a/content/tutorial-multisign.md b/content/tutorial-multisign.md index c15506f26b..317f5a36b0 100644 --- a/content/tutorial-multisign.md +++ b/content/tutorial-multisign.md @@ -20,9 +20,11 @@ To use multi-signing: Availability of Multi-Signing ----------------------------- -Multi-signing is built into `rippled` starting with [version 0.31.0](https://wiki.ripple.com/Rippled-0.31.0). Because multi-signing is a change in transaction processing, the change is due to be enabled by an **Amendment** to the Ripple Consensus Protocol. This Amendment must be approved by a consensus of validators showing consistent support for the feature over a period of time. For more information, see [Amendments](concept-amendments.html). +Multi-signing has been enabled by an [**Amendment**](concept-amendments.html) to the Ripple Consensus Protocol since 2016-06-27. -If you want to test multi-signing before it becomes available in the production network, or without risking real money, you can do so by running `rippled` in [stand-alone mode](concept-stand-alone-mode.html) with the MultiSign feature enabled. To enable multi-signing for testing, add the following stanza to your `rippled.cfg`: +If you want to use multi-signing with `rippled` with a fresh ledger in [stand-alone mode](concept-stand-alone-mode.html), you must force the MultiSign feature to be enabled. You can check the status of the MultiSign amendment using the [`feature` command](reference-rippled.html#feature). + +To force the multi-signing feature to be enabled, add the following stanza to your `rippled.cfg`: [features] MultiSign @@ -31,8 +33,6 @@ If you want to test multi-signing before it becomes available in the production Setting up Multi-Signing ------------------------ -Before you can set up multi-signing, first check that [multi-signing is available](#availability-of-multi-signing). - To multi-sign transactions from a particular address, you must create a list of addresses that can contribute to a multi-signature for your address. This list is stored in the Ripple Consensus Ledger as a [SignerList node](reference-ledger-format.html#signerlist). The following procedure demonstrates how to set up a SignerList for your address: @@ -148,7 +148,7 @@ In this example, the SignerList has 3 members, with the weights and quorum set u } } -Make sure that the [Transaction Result](reference-transaction-format.html#transaction-results) is [**tesSUCCESS**](reference-transaction-format.html#tes-success). Otherwise, the transaction failed. +Make sure that the [Transaction Result](reference-transaction-format.html#transaction-results) is [**tesSUCCESS**](reference-transaction-format.html#tes-success). Otherwise, the transaction failed. If you encounter a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](#availability-of-multi-signing). **Note:** The more members in the SignerList, the more XRP your address must have for purposes of the [owner reserve](concept-reserves.html#owner-reserves). If your address does not have enough XRP, the transaction fails with [tecINSUFFICIENT_RESERVE](reference-transaction-format.html#tec-codes). See also: [SignerLists and Reserves](reference-ledger-format.html#signerlists-and-reserves). @@ -314,6 +314,7 @@ Use the [`sign_for` command](reference-rippled.html#sign-for) with the secret ke Save the `tx_json` field of the response: it has the new signature in the `Signers` field. You can discard the value of the `tx_blob` field. +If you encounter a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](#availability-of-multi-signing). ### 3. Get additional signatures ### diff --git a/reference-transaction-format.html b/reference-transaction-format.html index d6fde6e9dc..bc67633d78 100644 --- a/reference-transaction-format.html +++ b/reference-transaction-format.html @@ -379,7 +379,7 @@ }

Multi-Signing

-

Multi-signing in Ripple is the act of authorizing transactions for the Ripple Consensus Ledger by using a combination of multiple secret keys. Multi-signing is due to be enabled by an Amendment to the Ripple Consensus Protocol. You can have any combination of authorization methods enabled for your address, including multi-signing, a master key, and a regular key. (The only requirement is that at least one method must be enabled.)

+

Multi-signing in Ripple is the act of authorizing transactions for the Ripple Consensus Ledger by using a combination of multiple secret keys. You can have any combination of authorization methods enabled for your address, including multi-signing, a master key, and a regular key. (The only requirement is that at least one method must be enabled.)

The SignerListSet transaction defines which addresses can authorize transactions from your address. You can include up to 8 addresses in a SignerList. You can control how many signatures are needed, in which combinations, by using the quorum and weight values of the SignerList.

To successfully submit a multi-signed transaction, you must do all of the following: