I'm trying to localize following UI texts of Bitcoin Core, but I cannot understand them:

Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use -upgradewallet=169900 or -upgradewallet with no version specified.

What's "non HD split wallet"? What's "pre split keypool"?

Warning: Private keys detected in wallet {%s} with disabled private keys

What's "disabled private key"?


What's "non HD split wallet"? What's "pre split keypool"?

Bitcoin Core uses something called HD chain split for generating private keys. This means that it derives private keys using two different derivation paths to distinguish between addresses that the wallet gives out and change addresses (also known as internal addresses). This split also means that there are two different keypools.

However the initial implementation of HD wallets in Bitcoin Core did not use HD chain split hence such wallets are non HD split wallets.

Furthermore, non HD split wallets and non-HD wallets had only one keypool from which all addresses (including change) were retrieved from. When upgrading such wallets, they need to be upgraded to a specific version that allows upgrading the unified keypool to the split keypool. This results in those wallets having a third keypool called the pre-split keypool. This keypool contains all of the keys from the original unified keypool and lets that run out of keys before the split keypool is used.

What's "disabled private key"?

Wallets can be created such that they will not have any private keys and are not allowed to contain private keys. Such wallets thus have private keys disabled. (this string should really say "with private keys disabled" not "with disabled private keys").

| improve this answer | |
  • So "non HD split wallet" should be "non-split HD wallet" actually, because it's in fact a kind of HD wallet? – Chris Chen Mar 1 '19 at 9:37
  • BTW, I hope future versions of Bitcoin Core could be able to manage the keys/addresses more clearly. Currently it's quite confusing to use Bitcoin Core – Chris Chen Mar 1 '19 at 9:56
  • It should be "non HD-split" as we consider "HD-split" to be a type in addition to HD, and non-HD. – Andrew Chow Mar 1 '19 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.