bitcore/examples/SendTx.js

74 lines
1.6 KiB
JavaScript
Raw Normal View History

2014-02-24 04:06:54 -08:00
// Replace '..' with 'bitcore' if you plan on using this code elsewhere.
var networks = require('../networks');
2014-03-05 11:18:44 -08:00
var Peer = require('../Peer');
var Transaction = require('../Transaction');
var Address = require('../Address');
var Script = require('../Script');
2014-02-24 04:06:54 -08:00
var coinUtil = require('../util/util');
2014-03-05 11:18:44 -08:00
var PeerManager = require('soop').load('../PeerManager',
{network: networks.testnet});
var createTx = function() {
2014-02-24 04:06:54 -08:00
var TXIN = 'd05f35e0bbc495f6dcab03e599c8f5e32a07cdb4bc76964de201d06a2a7d8265';
var TXIN_N = 0;
var ADDR = 'muHct3YZ9Nd5Pq7uLYYhXRAxeW4EnpcaLz';
var VAL = '1.234';
var txobj = {
version: 1,
lock_time: 0,
ins: [],
outs: []
}
var txin = {
s: coinUtil.EMPTY_BUFFER, // Add signature
q: 0xffffffff
};
var hash = new Buffer(TXIN.split('').reverse(), 'hex');
var vout = parseInt(TXIN_N);
var voutBuf = new Buffer(4);
2014-02-24 04:06:54 -08:00
voutBuf.writeUInt32LE(vout, 0);
txin.o = Buffer.concat([hash, voutBuf]);
txobj.ins.push(txin);
2014-02-24 04:06:54 -08:00
var addr = new Address(ADDR);
var script = Script.createPubKeyHashOut(addr.payload());
var valueNum = coinUtil.parseValue(VAL);
2014-02-24 04:06:54 -08:00
var value = coinUtil.bigIntToValue(valueNum);
var txout = {
v: value,
s: script.getBuffer(),
};
txobj.outs.push(txout);
return new Transaction(txobj);
2014-02-24 04:06:54 -08:00
};
var peerman = new PeerManager();
2014-02-24 04:06:54 -08:00
peerman.addPeer(new Peer('127.0.0.1', 18333));
peerman.on('connect', function(conn) {
2014-02-24 04:06:54 -08:00
var conn = peerman.getActiveConnection();
2014-02-24 04:06:54 -08:00
if (conn) {
conn.sendTx(createTx());
2014-02-24 04:06:54 -08:00
}
conn.on('reject', function () {
console.log('Transaction Rejected');
});
2014-02-24 04:06:54 -08:00
});
2014-02-24 04:06:54 -08:00
peerman.start();