Example of hierarchical keys generation algorithm

I suppose that deterministic keys generation feature will be ready for testing a few days later.

Some examples using incredibly experimental snapshot:

Root address 4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be (random key, created by OpenSSL):

validateaddress 4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be
{     "isvalid" : true,
     "address" : "4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "020f253f0518bed2e7ca9faaaa13505fea6ed5f119dfca82c2aa6d6a05f69608d9",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : null,
          "depth" : 0,
          "sequence" : 0,
          "code" : "12d636d06b3f0b5f16c055e327b8eb1979968e8c9d76fbeec9db893952bbcdd1",
          "method" : 0,
          "generator" : "random"
     }
}

Root childrens (depth=1 nodes, created by private derivation function):

validateaddress 4Pe8Ma3xWsoNH3dv2UQgxREkpGuZVotNhM
{
     "isvalid" : true,
     "address" : "4Pe8Ma3xWsoNH3dv2UQgxREkpGuZVotNhM",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "03d1fe76c5d53aa67ce28f810d699e76a0790d64eb4df33695bfd73b26a4eb06c3",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be",
          "depth" : 1,
          "sequence" : 2147483648,
          "code" : "631304b49d0aad7c7ae6a0c1b7dc73ad4e285200cd08696fed3e21810cbdb400",
          "method" : 0,
          "generator" : "private"
     }
}

validateaddress 4HK9ASVuugmJFLgffyJy86UDjCBYEuoxtW
{
     "isvalid" : true,
     "address" : "4HK9ASVuugmJFLgffyJy86UDjCBYEuoxtW",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "02a3429445f4af9d8ea97854ce90b135c4f7f41e47a58171f2c3699ae617447812",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be",
          "depth" : 1,
          "sequence" : 2147483650,
          "code" : "968055d1b6e7ecd1d3176ce0c2b0462e35eb7b4c1e692e236ea22bb6ebdf1e53",
          "method" : 0,
          "generator" : "private"
     }
}
validateaddress 4ETWxpmDoR7mFUTLydB2qRkbxgcpyNs6CK
{
     "isvalid" : true,
     "address" : "4ETWxpmDoR7mFUTLydB2qRkbxgcpyNs6CK",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "03c79d8908215e56bb0c23cc33b37db5ae2329433fa7f7f0bc4d1d94b59686c721",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4F53LwSnLvWCj6AiDsipYR9rSvwQCmE4be",
          "depth" : 1,
          "sequence" : 2147483649,
          "code" : "f0fbeb0a8ad14c32094c12cd286f7176d24c7b5faa961b17b149aa4fa7fd09a2",
          "method" : 0,
          "generator" : "private"
     }
}

Depth=2 addresses (created by public derivation function):

4Pe8Ma3xWsoNH3dv2UQgxREkpGuZVotNhM's child address

validateaddress 4YpycyrHfyT8DPznsMRFfK3YfzjiqD6Jnx
{
     "isvalid" : true,
     "address" : "4YpycyrHfyT8DPznsMRFfK3YfzjiqD6Jnx",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "037eb093cf123e0ad5046b593d6296695667ce5f28c817a78a125c26c764655d89",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4Pe8Ma3xWsoNH3dv2UQgxREkpGuZVotNhM",
          "depth" : 2,
          "sequence" : 0,
          "code" : "989cf1b152adda25a167adcc84cdc33a3f135edc608b060d779950840c1367a5",
          "method" : 0,
          "generator" : "public"
     },
     "account" : ""
}

4HK9ASVuugmJFLgffyJy86UDjCBYEuoxtW's child address

validateaddress 4ZTVfWdK3CYSCyuKV5P3sXhuSdeXr56zme
{
     "isvalid" : true,
     "address" : "4ZTVfWdK3CYSCyuKV5P3sXhuSdeXr56zme",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "02ca0093fdda72840db9b9688423b6a400cb9b5c92c6d64f7de6c9670806063b24",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4HK9ASVuugmJFLgffyJy86UDjCBYEuoxtW",
          "depth" : 2,
          "sequence" : 0,
          "code" : "e1939b3e7b61f94bfa53e41b2ddb46f9b1e3e8e42f82edccfc038b26f54b3e04",
          "method" : 0,
          "generator" : "public"
     }
}

4ETWxpmDoR7mFUTLydB2qRkbxgcpyNs6CK's child address:

validateaddress 4GX3aZevqWP5Kdr23zVEbdgiyx5LDyf8SX
{
     "isvalid" : true,
     "address" : "4GX3aZevqWP5Kdr23zVEbdgiyx5LDyf8SX",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "03f95defede8c2af5b623fc449c624b1198798d435ee99ced5b4a824d185512b02",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : "4ETWxpmDoR7mFUTLydB2qRkbxgcpyNs6CK",
          "depth" : 2,
          "sequence" : 0,
          "code" : "ccd46f9594c443c2197f4cd0f604fc3e485f9fc77813becc0dea824f702f9bde",
          "method" : 0,
          "generator" : "public"
     }
}

Regular random address:

validateaddress 4GcWX4qwJoqKqQFitQLdhJ393Lo1U8Gq1E
{
     "isvalid" : true,
     "address" : "4GcWX4qwJoqKqQFitQLdhJ393Lo1U8Gq1E",
     "ismine" : true,
     "isscript" : false,
     "pubkey" : "03418392bb984cb6dc6dc06e919ed5c31c8172d574e7804743c46f899c87e422c9",
     "iscompressed" : true,
     "nodemeta" : {
          "parent" : null,
          "generator" : "random"
     },
     "account" : ""
}

P.S. Addresses are working, feel free to donate

Leave a Reply

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