Matias Alejo Garcia
11 years ago
1 changed files with 74 additions and 0 deletions
@ -0,0 +1,74 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
var run = function() { |
||||
|
// replace '../bitcore' with 'bitcore' if you use this code elsewhere.
|
||||
|
var bitcore = require('../bitcore'); |
||||
|
var networks = require('../networks'); |
||||
|
var Script = bitcore.Script; |
||||
|
var WalletKey = bitcore.WalletKey; |
||||
|
var buffertools = bitcore.buffertools; |
||||
|
var Address = bitcore.Address; |
||||
|
var util = bitcore.util; |
||||
|
var opts = {network: networks.livenet}; |
||||
|
|
||||
|
var p = console.log; |
||||
|
|
||||
|
var wk = new WalletKey(opts); |
||||
|
wk.generate(); |
||||
|
var wkObj = wk.storeObj(); |
||||
|
|
||||
|
var s = Script.createPubKeyOut(wk.privKey.public); |
||||
|
p('\nScript PubKey:'); |
||||
|
p('\tHex : ' + buffertools.toHex(s.buffer)); |
||||
|
p('\tHuman : ' + s.toHumanReadable()); |
||||
|
p('\tKey -------------------------------'); |
||||
|
console.log ('\tPrivate: ' + wkObj.priv); |
||||
|
console.log ('\tPublic : ' + wkObj.pub); |
||||
|
console.log ('\tAddr : ' + wkObj.addr); |
||||
|
|
||||
|
s = Script.createPubKeyHashOut(wk.privKey.public); |
||||
|
p('\nScript PubKeyHash:'); |
||||
|
p('\tHex : ' + buffertools.toHex(s.buffer)); |
||||
|
p('\tHuman : ' + s.toHumanReadable()); |
||||
|
p('\tKey -------------------------------'); |
||||
|
console.log ('\tPrivate: ' + wkObj.priv); |
||||
|
console.log ('\tPublic : ' + wkObj.pub); |
||||
|
console.log ('\tAddr : ' + wkObj.addr); |
||||
|
|
||||
|
var wks=[]; |
||||
|
var pubs = []; |
||||
|
for (var i =0; i<5; i++) { |
||||
|
wks[i] = new WalletKey(opts); |
||||
|
wks[i].generate(); |
||||
|
pubs.push(wks[i].privKey.public); |
||||
|
} |
||||
|
|
||||
|
s = Script.createMultisig(3,pubs); |
||||
|
p('\nScript MultiSig (3 out of 5 required signatures):'); |
||||
|
p('\tHex : ' + buffertools.toHex(s.buffer)); |
||||
|
p('\tHuman : ' + s.toHumanReadable()); |
||||
|
|
||||
|
for (i =0; i<5; i++) { |
||||
|
wkObj = wks[i].storeObj(); |
||||
|
p('\tKey ['+i+'] -------------------------------'); |
||||
|
console.log ('\tPrivate: ' + wkObj.priv); |
||||
|
console.log ('\tPublic : ' + wkObj.pub); |
||||
|
console.log ('\tAddr : ' + wkObj.addr); |
||||
|
} |
||||
|
|
||||
|
var hash = util.sha256ripe160(s.buffer); |
||||
|
|
||||
|
s = Script.createP2SH(hash); |
||||
|
p('\nScript P2SH:'); |
||||
|
p('\tHex : ' + buffertools.toHex(s.buffer)); |
||||
|
p('\tHuman : ' + s.toHumanReadable()); |
||||
|
p('\tScript Hash: ' + buffertools.toHex(hash)); |
||||
|
var a = new Address(networks.livenet.addressScript,hash); |
||||
|
p('\tp2sh Addr: ' + a.toString()); |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
module.exports.run = run; |
||||
|
if (require.main === module) { |
||||
|
run(); |
||||
|
} |
Loading…
Reference in new issue