From aed94b3e454610331fd37de4476874456b581102 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 13 Mar 2014 14:50:09 -0300 Subject: [PATCH] add createTx example to mocha --- examples/CreateAndSignTx.js | 210 ++++++++++++++++++++++++++++++++++++ examples/createTx.js | 205 ----------------------------------- test/test.examples.js | 1 + 3 files changed, 211 insertions(+), 205 deletions(-) create mode 100644 examples/CreateAndSignTx.js delete mode 100644 examples/createTx.js diff --git a/examples/CreateAndSignTx.js b/examples/CreateAndSignTx.js new file mode 100644 index 000000000..c1c1d440a --- /dev/null +++ b/examples/CreateAndSignTx.js @@ -0,0 +1,210 @@ + + + +var run = function() { + var bitcore = require('../bitcore'); + + var priv = 'cTgGUrcro89yUtKeG6gHBAS14r3qp25KwTTxG9d4kEzcFxecuZDm'; + var amt = '0.005'; + var toAddress = 'myuAQcCc1REUgXGsCTiYhZvPPc3XxZ36G1'; + var changeAddressString = 'moDz3jEo9q7CxjBDjmb13sL4SKkgo2AACE'; + var feeString = '0.0001'; + + var safeUnspent = [ + { + address: "mqSjTad2TKbPcKQ3Jq4kgCkKatyN44UMgZ", + hash: "2ac165fa7a3a2b535d106a0041c7568d03b531e58aeccdd3199d7289ab12cfc1", + vout: 1, + ts: 1394719301, + scriptPubKey: "76a9146ce4e1163eb18939b1440c42844d5f0261c0338288ac", + amount: 0.01, + confirmations: 2 + } + ] + ; + + console.log('TX Data: BTC:' + amt + ' => '+ toAddress + ', change To:' + changeAddressString ) ; + console.log('Unspends:', safeUnspent); + + var wk = new bitcore.WalletKey({ + network: bitcore.networks.testnet + }); + wk.fromObj({ priv: priv, }); + + var wkObj= wk.storeObj(); + var keyPairs = [{ + key: wkObj.priv, + address: wkObj.addr, + }]; + console.log('KEY DB IS:', keyPairs); + + var Address = bitcore.Address; + var Transaction = bitcore.Transaction; + var Script = bitcore.Script; + var nets = bitcore.networks; + var z = bitcore.bignum(0); + var amt = bitcore.util.parseValue(amt); + + if(z.cmp(amt) === 0 ) + throw "spend amount must be greater than zero"; + + if(!changeAddressString) + throw "change address was not provided"; + + var fee = bitcore.util.parseValue(feeString || '0'); + var total = bitcore.bignum(0).add(amt).add(fee); + var address = new Address(toAddress); + var sendTx = new Transaction(); + var i; + + var unspent = []; + var unspentAmt = bitcore.bignum(0); + + + for(i=0;i -1, we have enough to send the requested amount + if(unspentAmt.cmp(total) > -1) { + break; + } + } + + if(unspentAmt.cmp(total) < 0) { + throw "you do not have enough bitcoins to send this amount"; + } + + var txobj = {}; + txobj.version = 1; + txobj.lock_time = 0; + txobj.ins = []; + txobj.outs = []; + + for(i=0;i '+ toAddress + ', change To:' + changeAddressString ) ; -console.log('Unspends:', safeUnspent); - -var wk = new bitcore.WalletKey({ - network: bitcore.networks.testnet -}); -wk.fromObj({ priv: priv, }); - -var wkObj= wk.storeObj(); -var keyPairs = [{ - key: wkObj.priv, - address: wkObj.addr, -}]; -console.log('KEY DB IS:', keyPairs); - -var Address = bitcore.Address; -var Transaction = bitcore.Transaction; -var Script = bitcore.Script; -var nets = bitcore.networks; -var z = bitcore.bignum(0); -var amt = bitcore.util.parseValue(amt); - -if(z.cmp(amt) === 0 ) - throw "spend amount must be greater than zero"; - -if(!changeAddressString) - throw "change address was not provided"; - -var fee = bitcore.util.parseValue(feeString || '0'); -var total = bitcore.bignum(0).add(amt).add(fee); -var address = new Address(toAddress); -var sendTx = new Transaction(); -var i; - -var unspent = []; -var unspentAmt = bitcore.bignum(0); - - -for(i=0;i -1, we have enough to send the requested amount - if(unspentAmt.cmp(total) > -1) { - break; - } - } - - if(unspentAmt.cmp(total) < 0) { - throw "you do not have enough bitcoins to send this amount"; - } - - var txobj = {}; - txobj.version = 1; - txobj.lock_time = 0; - txobj.ins = []; - txobj.outs = []; - - for(i=0;i