For somebody who like to perform experiments

For somebody who like to perform experiments.

Implements a basic support for deterministic keys generation.

Please note that this feature is very experimental for now. This code is incompatible with old wallet.dat format, don’t try to run it in production or without backups.

This commit provides some new RPC commands:

* createroot [seed] – create a new root node from supplied or random seed
* dumpnode <novacoinaddress> – dump node into serialized data
* importnode <seriaizednode> [label] – create a new node using supplied serialized data
* getchildof <novacoinaddress> [fPrivate=false] [label] – get new child for supplied node
* listroot – list root nodes available
* listchild <novacoinaddress> – list a child nodes for a supplied address
* listorphan – list orphaned nodes, i.e. addresses without parent nodes
* listrandom – list randomly generated addresses
* rescan – similar to -rescan key

Removed RPC commands:

* keypoolrefill [n] – there is no keypool anymore, so we don’t need this
* getnewpubkey [label]
* validatepubkey

Updated RPC commands:

* getnewaddress [label] – now creates a new child address for a public root instead of getting it from key pool
* getaccountaddress <account> – similar to getnewaddress
* dumpwallet <filename> – now able to dump HD nodes
* importwallet <filename> – now able to import HD nodes from file

No builds available yet, win32 and linux builds will be available later. Please read a commit description before trying to use it.


1. Public key trees generation without unlocking of wallet;
2. Split wallet.dat into local transactions database and keystore;
3. Automatic recovery of key trees in case of database failure;
4. <…>

Win32 / Win64 build:

Leave a Reply

Your email address will not be published. Required fields are marked *