https://github.com/CryptoManiac/novacoin/commit/def6e8bd0d036ba0c41d1d38654bb2b454b5e296
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 keyRemoved RPC commands:
* keypoolrefill [n] – there is no keypool anymore, so we don’t need this
* getnewpubkey [label]
* validatepubkeyUpdated 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.
TODO:
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:
http://sourceforge.net/projects/novacoin/files/experimental/novacoin-nosetup-0.4.4.7-test-windows.zip/download