From 7800128b9b7cf23c7dd915abe727d4db35e4491e Mon Sep 17 00:00:00 2001 From: olalonde Date: Mon, 5 May 2014 18:59:55 +0800 Subject: [PATCH] Armory: from master public key --- examples/Armory.js | 19 +++++++++++++++++++ lib/Armory.js | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/examples/Armory.js b/examples/Armory.js index 1e11ac4..713cd8b 100644 --- a/examples/Armory.js +++ b/examples/Armory.js @@ -45,3 +45,22 @@ for (var i = 0; i < 5; i++) { console.log(Address.fromPubKey(a.pubkey).as('base58')); a = a.next(); } + + +var mpk = '045a09a3286873a72f164476bde9d1d8e5c2bc044e35aa47eb6e798e325a86417f7c35b61d9905053533e0b4f2a26eca0330aadf21c638969e45aaace50e4c0c8784ac14bc4b388b33da099a0b4ee3b507284d99e1476639e36e5ca5e6af86481e'; + +console.log(''); +console.log(''); +console.log('Deriving public keys for'); +console.log('------------------------'); +console.log('Master Public Key: %s', mpk); +console.log(''); + +// skip first public key +var b = Armory.fromMasterPublicKey(mpk).next(); + +for (var i = 0; i < 5; i++) { + console.log(Address.fromPubKey(b.pubkey).as('base58')); + b = b.next(); +} + diff --git a/lib/Armory.js b/lib/Armory.js index 6cdb220..4d9194f 100644 --- a/lib/Armory.js +++ b/lib/Armory.js @@ -41,6 +41,12 @@ Armory.prototype.next = function () { return new Armory(this.chaincode, next_pubkey); }; +Armory.fromMasterPublicKey = function (mpk) { + var pubkey = mpk.substr(0, 130); + var chaincode = mpk.substr(130, mpk.length); + return new Armory(chaincode, pubkey); +}; + function decode (str) { var from = '0123456789abcdef'; var to = 'asdfghjkwertuion';