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