bitcoin: "Can't generate a change-address key. No keys in the internal keypool and can't generate any keys."

Hi,

I am trying to make a purchase but am unable to. bitcoin-qt gives the error:

“Can’t generate a change-address key. No keys in the internal keypool and can’t generate any keys.”

When I try to Google this error, I only come up with mirrors of Bitcoin’s source code. debug.log doesn’t show any additional information.

No money is sent and there are no new transactions with the wallet.

The wallet is encrypted and unlocked. Using bitcoin-qt v0.18.0 on Gentoo Linux. Tried both the third-party layman version and compiling the official bitcoincore.org source and both fail to let me make a purchase. The last transaction on the wallet was in December 2018 and whatever the latest version of bitcoin-qt was back then.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 3
  • Comments: 43 (16 by maintainers)

Most upvoted comments

Hopefully in the future more attention will be made towards any wallet upgrades so that they go more smoothly as non-technically minded users wouldn’t be able to resolve this as easily.

Really wish this was prioritized. I have a wallet from 2010 that I just recovered and I really don’t want to be building core myself just to upgrade. More and more people willing be digging up old wallets as the price climbs and not all of us ‘early adopters’ went into software development…

I’m a casual user, like most people, not a coder. I found this by googling the problem, because I’d never seen or had this problem before. I do read the release notes before deciding weather to upgrade or not though & as there’s no mention of this in any of the release notes I presumed it would be safe to upgrade, wrongfully it seems. Please ask whoever is capable of doing so to include this problem in the release notes - it would save everyone a lot of wasted time & stress.

Really wish this was prioritized. I have a wallet from 2010 that I just recovered and I really don’t want to be building core myself just to upgrade. More and more people willing be digging up old wallets as the price climbs and not all of us ‘early adopters’ went into software development…

The PR in question has already been merged and will be in the next major release which should be in ~1 month.

#15761 would have been nice provided in a 0.20.1 release since the inability to use old encrypted wallets is a pretty major bug. I’m not sure if I should temporarily use 0.17.1, or build the master branch to upgrade the wallet. I don’t feel particularly comfortable using pre-release code for mainnet wallets.

Edit: I did decide to build from master for the purpose of upgrading the wallet only. This went fine though I did have to deplete the keypool by running getnewaddress some 800 times (I did this using a bash for loop) before bech32 addresses would be generated.

Hopefully in the future more attention will be made towards any wallet upgrades so that they go more smoothly as non-technically minded users wouldn’t be able to resolve this as easily.

Can confirm having the same issues as @redblade7 on v0.18.0 and still on v0.18.1. Same error: “Can’t generate a change-address key. No keys in the internal keypool and can’t generate any keys.” And can also not use the -upgradewallet flag due to bug #14422

Wallet created around v0.11.1 and encrypted some time after that, ~v0.15.0 or so.

Let me know if you need anything from me to help troubleshoot/reproduce.

Reaffirming @adamjonas’ comment as #15761 has fixed this issue for my wallet.

closed by #15761

Can confirm having the same issues as @redblade7 on v0.18.0 and still on v0.18.1. Same error: “Can’t generate a change-address key. No keys in the internal keypool and can’t generate any keys.” And can also not use the -upgradewallet flag due to bug #14422

Wallet created around v0.11.1 and encrypted some time after that, ~v0.15.0 or so.

Let me know if you need anything from me to help troubleshoot/reproduce.

Unfortunately I can’t upgrade my wallet because of bug #14422