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 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:
Since a trust line occupies space in the ledger, a trust line increases the XRP your account must hold in reserve. This applies to the account extending trust, not to the account receiving it.
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, 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): The TrustSetAuth Amendment 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.
Transactions of the TrustSet type support additional values in the Flags field, as follows:
The SignerListSet transaction creates, replaces, or removes a list of signers that can be used to multi-sign a transaction. This transaction type is introduced by the MultiSign amendment. (New in rippled 0.31.0)
+The SignerListSet transaction creates, replaces, or removes a list of signers that can be used to multi-sign a transaction. This transaction type was introduced by the MultiSign amendment. (New in rippled 0.31.0)
Example SignerListSet:
{
"Flags": 0,
diff --git a/tutorial-multisign.html b/tutorial-multisign.html
index 832821f5d9..36d42a621e 100644
--- a/tutorial-multisign.html
+++ b/tutorial-multisign.html
@@ -177,13 +177,13 @@
Send transactions using multiple signatures.
Availability of Multi-Signing
-Multi-signing is built into rippled starting with version 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.
-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 with the MultiSign feature enabled. To enable multi-signing for testing, add the following stanza to your rippled.cfg:
+Multi-signing has been enabled by an Amendment to the Ripple Consensus Protocol since 2016-06-27.
+If you want to use multi-signing with rippled with a fresh ledger in stand-alone mode, you must force the MultiSign feature to be enabled. You can check the status of the MultiSign amendment using the feature command.
+To force the multi-signing feature to be enabled, add the following stanza to your rippled.cfg:
[features]
MultiSign
Setting up Multi-Signing
-Before you can set up multi-signing, first check that multi-signing is available.
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. The following procedure demonstrates how to set up a SignerList for your address:
1. Prepare a funded address
You need a Ripple address that can send transactions, and has enough XRP available. Multi-signing requires more than the usual amount of XRP for the account reserve and transaction cost, increasing with the number of signers and signatures you use.
@@ -286,7 +286,7 @@ Connecting to 127.0.0.1:5005
}
}
-Make sure that the Transaction Result is tesSUCCESS. Otherwise, the transaction failed.
+Make sure that the Transaction Result is tesSUCCESS. Otherwise, the transaction failed. If you encounter a problem in stand-alone mode or a non-production network, check that multi-sign is enabled.
Note: The more members in the SignerList, the more XRP your address must have for purposes of the owner reserve. If your address does not have enough XRP, the transaction fails with tecINSUFFICIENT_RESERVE. See also: SignerLists and Reserves.
On the live network, you can wait 4-7 seconds for the ledger to close automatically.
@@ -426,6 +426,7 @@ Connecting to 127.0.0.1:5005 }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.
You can collect additional signatures in parallel or in serial: