diff --git a/content/tutorials/manage-account-settings/assign-a-regular-key-pair.md b/content/tutorials/manage-account-settings/assign-a-regular-key-pair.md index 7a797b4aba..73b86bf438 100644 --- a/content/tutorials/manage-account-settings/assign-a-regular-key-pair.md +++ b/content/tutorials/manage-account-settings/assign-a-regular-key-pair.md @@ -115,7 +115,7 @@ In the next step, you'll use the `account_id` from this response to assign the k Use a [SetRegularKey transaction][] to assign the key pair you generated in step 1 to your account as a regular key pair. -When assigning a regular key pair to your account for the first time, the SetRegularKey transaction requires signing by your account's master private key (secret). Transmitting your master private key is dangerous, so we'll complete this transaction in two steps to keep transaction signing separate from transaction submission to the network. +When assigning a regular key pair to your account for the first time, the SetRegularKey transaction requires signing with your account's master private key (secret). There are [several ways of securely signing transactions](set-up-secure-signing.html), but this tutorial uses a local `rippled` server. When you send subsequent SetRegularKey transactions, you can sign using the existing regular private key to replace or [remove itself](change-or-remove-a-regular-key-pair.html). Note that you should still not submit your regular private key across the network. @@ -394,11 +394,9 @@ Note that the response contains a `hash` of the transaction, which you can use t ## 3. Verify the Regular Key Pair -At this point, the regular key pair is assigned to your account and you should be able to send transactions using the regular key pair. However, it is important to verify that you did not make a mistake before you take any additional steps such as [disabling the master key pair](disable-master-key-pair.html). +At this point, the regular key pair is assigned to your account and you should be able to send transactions using the regular key pair. **To avoid losing control of your account,** it is important that you test your regular key before you take any additional steps such as [disabling the master key pair](disable-master-key-pair.html). If you make a mistake and lose access to your account, no one can restore it for you. -To verify that your account has the regular key pair set correctly, submit an [AccountSet transaction][] from your account, signing it with the regular private key you assigned to your account in step 2. - -As discussed in step 2, transmitting your master private key is dangerous. It is equally risky to transmit your regular private key. Therefore, we'll complete this transaction in two steps to keep transaction signing separate from transaction submission to the network. +To verify that your account has the regular key pair set correctly, submit an [AccountSet transaction][] from your account, signing it with the regular private key you assigned to your account in step 2. As in step 1, this tutorial uses a local `rippled` server as a [way of securely signing transactions](set-up-secure-signing.html). ### Sign Your Transaction @@ -661,6 +659,13 @@ An example of a successful response: +If the transaction fails with the following [result codes](transaction-results.html), here are some things to check: + +- **`tefBAD_AUTH`**: The regular key you signed your test transaction with doesn't match the regular key you set in the previous step. Check that the secret and address for your regular key pair match and double-check which values you used in each step. +- **`tefBAD_AUTH_MASTER`** or **`temBAD_AUTH_MASTER`**: Your account doesn't have a regular key assigned. Check that the SetRegularKey transaction executed successfully. You can also use the [account_info method][] to confirm that your regular key is set in the `RegularKey` field as expected. + +For possible causes of other result codes, see [Transaction Results](transaction-results.html). + ## See Also diff --git a/content/tutorials/manage-account-settings/disable-master-key-pair.md b/content/tutorials/manage-account-settings/disable-master-key-pair.md index 18de2b5f08..67d4805120 100644 --- a/content/tutorials/manage-account-settings/disable-master-key-pair.md +++ b/content/tutorials/manage-account-settings/disable-master-key-pair.md @@ -1,6 +1,6 @@ # Disable Master Key Pair -This page describes how to disable the [master key pair](cryptographic-keys.html) that is mathematically associated with an [account](accounts.html)'s address. You may wish to do this if you believe your account's master key pair has been compromised, or if you want to make [multi-signing](multi-signing.html) the _only_ way to submit transactions from your account. +This page describes how to disable the [master key pair](cryptographic-keys.html) that is mathematically associated with an [account](accounts.html)'s address. You should do this if your account's master key pair may have been compromised, or if you want to make [multi-signing](multi-signing.html) the _only_ way to submit transactions from your account. **Warning:** Disabling the master key pair removes one method of [authorizing transactions](transaction-basics.html#authorizing-transactions). You should be sure you can use one of the other ways of authorizing transactions, such as with a regular key or by multi-signing, before you disable the master key pair. (For example, if you [assigned a regular key pair](assign-a-regular-key-pair.html), make sure that you can successfully submit transactions with that regular key.) Due to the decentralized nature of the XRP Ledger, no one can restore access to your account if you cannot use the remaining ways of authorizing transactions. @@ -10,8 +10,9 @@ This page describes how to disable the [master key pair](cryptographic-keys.html To disable the master key pair for an account, you must meet the following prerequisites: -- You must have an XRP Ledger [account](accounts.html) and you must be able to sign and submit transactions from that account using the master key pair. See also: [Set Up Secure Signing](set-up-secure-signing.html). - - Generally, you need to know account's master seed value to sign this transaction. A seed value is commonly represented as a [base58][] value starting with "s", such as `sn3nxiW7v8KXzPzAqzyHXbSSKNuN9`. A notable exception is that a [dedicated signing device](set-up-secure-signing.html#use-a-dedicated-signing-device) stores the seed value securely so you don't need to know it. +- You must have an XRP Ledger [account](accounts.html) and you must be able to sign and submit transactions from that account using the master key pair. See also: [Set Up Secure Signing](set-up-secure-signing.html). Two common ways this can work are: + - You know the account's master seed value. A seed value is commonly represented as a [base58][] value starting with "s", such as `sn3nxiW7v8KXzPzAqzyHXbSSKNuN9`. + - Or, you use a [dedicated signing device](set-up-secure-signing.html#use-a-dedicated-signing-device) that stores the seed value securely, so you don't need to know it. - Your account must have at least one method of authorizing transactions other than the master key pair. In other words, you must do one or both of the following: - [Assign a Regular Key Pair](assign-a-regular-key-pair.html). - [Set Up Multi-Signing](set-up-multi-signing.html). @@ -22,7 +23,7 @@ To disable the master key pair for an account, you must meet the following prere ### {{n.next()}}. Construct Transaction JSON -Prepare an [AccountSet transaction][] from your account with the field `"SetValue": 4`. This is the value for the account-set-flag Disable Master (asfDisableMaster). The only other required fields for this transaction are the required [common fields](transaction-common-fields.html). For example, if you leave off the [auto-fillable fields](transaction-common-fields.html#auto-fillable-fields), the following transaction instructions are enough: +Prepare an [AccountSet transaction][] from your account with the field `"SetValue": 4`. This is the value for the AccountSet flag "Disable Master" (`asfDisableMaster`). The only other required fields for this transaction are the required [common fields](transaction-common-fields.html). For example, if you leave off the [auto-fillable fields](transaction-common-fields.html#auto-fillable-fields), the following transaction instructions are enough: ```json { @@ -32,7 +33,7 @@ Prepare an [AccountSet transaction][] from your account with the field `"SetValu } ``` -It is strongly recommended to also provide the `LastLedgerSequence` field so that you can [reliably get the outcome of the transaction in a predictable amount of time](reliable-transaction-submission.html). +**Tip:** It is strongly recommended to also provide the `LastLedgerSequence` field so that you can [reliably get the outcome of the transaction in a predictable amount of time](reliable-transaction-submission.html). ### {{n.next()}}. Sign Transaction @@ -295,6 +296,8 @@ Loading: "/home/mduo13/.config/ripple/rippled.cfg" +If the transaction fails with the result `tecNO_ALTERNATIVE_KEY`, your account does not have another method of authorizing transactions currently enabled. You must [assign a regular key pair](assign-a-regular-key-pair.html) or [set up multi-signing](set-up-multi-signing.html), then try again to disable the master key pair. + ### {{n.next()}}. Wait for validation