Fixing a slow Proof of Stake wallet

After a proof of stake QT wallet has been running and minting new coins for some time you may start to experience some performance issues. The user interface may slow down or you might experience an increase in the orphan rate. Certain commands like ‘Repair Wallet’ might start to take forever to complete or you may see other issues.

The amount of memory the wallet uses seems to be a factor of both how big the blockchain is and how many transactions you have in your personal wallet.

When you start to experience issues is a factor of how fast your computer is, what operating system it uses, how optimized the wallet software is, and how much memory the computer has. Somewhere over 5000 transactions in the QT wallet or 50,000 transactions when running the daemon is a rough estimate for when you might start to experience some problems.

The Fix

If you feeling lazy you could try running the daemon instead of the QT wallet for a while, but eventually even the daemon will start to show some issues. A new faster computer seems like an option too, but that’s actually a lot more work and just pushes the problem out to a later date also.

The best fix is to move all your coins to a new address in a new wallet file. You might be tempted to send them all to an exchange or a trustworthy party and withdraw them back to a new wallet. This is a really bad idea and if you think about things logically a bit, you might come up with some theories about why an exchange might suddenly have some “wallet issues” after getting a large deposit of proof of stake coins.

Best send your cryptocurrency to Dog-oh, he’s trustworthy, just look at that face. (Sounds of excited doggy noises, chortling and odd laughter, muhahaha.) On second thought, you had best not do that either, Dog-oh has trouble typing and @lightsplasher, well, has some um, memory issues, ya that’s the ticket, memory issues, and tends to blow things off until “tomorrow” even with constant reminders, lol.

Additionally, moving your coins like this will destroy all your coin weight which is calculated by how old the coins are. Coin weight is very important for how well your wallet will mint new coins, so you should avoid moving them this way.

The Real Fix

What you need to do is gradually move your coins to a new address in your wallet by combining the recently minted blocks in the “Coin Control” dialog. Make sure that “Display coin control features (experts only!)” is selected if you can’t open this dialog when you send coins.


Options dialog, open from ‘Settings’, ‘Options...’ from most wallets

You will want to create a new address without any transactions using “Receive Coins” and label it for example: “Stake one”.

The coin control dialog will let you sort by date and label, so you can easily select the most recently minted blocks from the old address or addresses and send them to the new address: “Stake one.”

Once all the coins are moved to, “Stake one” you can locate your “wallet.dat” file and back it up if you have not already done so recently. This file contains all your private keys, address book and transactions (your coins and other stuff). It is in a hidden directory under your home directory in Linux machines.

Now you are going to need the private key for the public address labeled, “Stake one” so that you can import these coins into a new “wallet.dat” file. Open the “Debug” dialog, located under the help menu and select the “Console” tab. Use the command “dumpprivkey” to get the private key associated with, “Stake one.”

Copy the private key into a text file or save it in memory with the control-c command.

Close the QT wallet and locate the “wallet.dat” file and rename it to something like, “wallet_old.dat”

Restart the QT wallet and you should have a brand new blank wallet with no transactions or coins in it.

Open the “Console” from the debug dialog again and use the command “importprivkey” pasting the private key for “Stake one” using control-v or copy it from the text file where you saved it.

You can get help for any command used in the console by typing for example: “help importprivkey”

At this point you should have all your coins back and importantly they should also have all their coin weight in a wallet that runs more efficiently. Remember to encrypt your new wallet file with a password and back it up.

You do have all your coins back right? You did make a backup before this all started right? If not, wasn’t me… not listening... talk to Dog-oh, lol. Scared you didn’t I? If you don’t have your coins back yet, go watch some slugs racing for a while - it could take some time, hopefully they will eventually show up.

Staking or minting new blocks on a proof of stake coin is very different than traditional Bitcoin mining. It is very easy to do, does not take enormous amounts of electricity, and is more like earning interest on a bank deposit imho. The new coins you earn are your reward for maintaining the blockchain but like anything it does take some effort to do and your results are not guarantied.


Happy minting and best wishes for your success! Thanks for reading. I always value your support and comments, but please excuse me if I don’t always answer directly.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now