Skip to content

Commit

Permalink
add CreateScript Example
Browse files Browse the repository at this point in the history
  • Loading branch information
matiu committed Mar 30, 2014
1 parent 9fc2493 commit 5dd945f
Showing 1 changed file with 74 additions and 0 deletions.
74 changes: 74 additions & 0 deletions examples/CreateScript.js
Original file line number Diff line number Diff line change
@@ -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();
}

0 comments on commit 5dd945f

Please sign in to comment.