/ XRP Ledger

Why to use regular key and disable master key and How to do it with ripple-desktop-client

r0bertz

Read more posts by this author.

Read More

If you follow my personal blog http://xrp.ninja, you probably know I have been working on porting ripple-desktop-client to RippleAPI. It's almost finished. Only two features need to be done: send and set trust line. Also I haven't successfully created a working executable file yet. Will work on that too.

In addition to porting it to RippleAPI, I have also added new features like creating a wallet using regular key. I am going to show you how to do that in this post.

Before we start, you might want to read this to learn what are master key and regular key and this to learn why you may need to do this (TL;DR: if you have used rippled or ripple-lib released before August 2015 to sign transactions, you may want to do this.)

In this demonstration, I am going to use testnet. First go to https://developers.ripple.com/xrp-test-net-faucet.html and click Generate credentials. You will get an address, a secret and a balance of 10,000 XRP. This address and secret only work on testnet. You won't be able to use it unless you connect to testnet rippled server. I will show you how to do that shortly. testnet

Now run the following commands in a terminal to launch the client:

git clone https://github.com/r0bertz/ripple-client-desktop.git
cd ripple-client-desktop/
npm install
cp config_example.js config.js
gulp

Then change server to the testnest server wss://s.altnet.rippletest.net:51233. This can be done in Server Settings -> Network settings -> Server settings. Don't forget to change it back when you are done with testnet. server_setttings

Then click Overview to go back to the login screen and create a new account with the generated testnet credentials. Click Create new account, then Create a new account with a secret key, then enter your secret key (do not check This is a regular key since this is the master key) and click Create new account. create_new_account

Then a file chooser dialog will pop up and you will choose a path to save the wallet file. Then you will be asked to enter a password that will be used to encrypt the wallet file. Enter the password twice and click Encrypt account. Then you will be shown an important notice to safe keep your secret key, click Yes, I saved my secret key.

Now you can generate a regular key. This can be done via gear icon in the upper right corner -> Settings -> Security settings -> Generate Regular Key. Click Show to unmask the regular key and save it in a safe place. Remember this will be the only key that works on your address after master key is disabled. Then Save Wallet File. Now you have a second wallet file which contains the regular key. After you disable the master key, this will be the only wallet file that works. Don't worry if you lose access to it though. Thanks to the new feature I implemented, you will be able to create a wallet file with a regular key at any time as long as you have the regular key, just check the This is a regular key when entering your secret key.

Verify the regular key wallet file actually works. My favorite way of verifying this is to Enable tracking the ID of the most recent transaction which can be done in gear icon -> Settings -> Account Flags.

Now you can disable your master key which is also in Account Flags tab. Click edit for Disable master key, check Enable. Now if you click Save, the master key will be disabled. You have to be 100% sure that you won't regret it before you click it.
disable_master_key

At this point, the regular key is the only key that works for your address. Please keep it safe. :)


Did you like this post by r0bertz?

Send some love: