flosight-api/util/get_tx.js
2014-01-16 16:11:55 -03:00

63 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var GET_TX_VERSION = 1;
var program = require('commander');
var RpcClient = require('../node_modules/bitcore/RpcClient').class();
var config = require('../config/config');
var Transaction = require('../node_modules/bitcore/Transaction').class();
var rpc = new RpcClient(config.bitcoind);
var buffertools = require('buffertools');
program
.version(GET_TX_VERSION)
.option('-D --dummy', 'dummy', '0')
.parse(process.argv);
var tx_hash = process.argv[2]
|| 'f6c2901f39fd07f2f2e503183d76f73ecc1aee9ac9216fde58e867bc29ce674e';
// PARSING!
rpc.getRawTransaction(tx_hash, 1, function(err, tx) {
if (err)
console.log(err);
else
showTX(tx.result);
parseTX(tx.result.hex);
});
var showTX = function(txInfo) {
console.log("## Bitcoind Info");
console.log(require('util').inspect(txInfo, true, 10)); // 10 levels deep
console.log("########################################################################");
}
var parseTX = function(data) {
var b = new Buffer(data,'hex');
var tx = new Transaction();
tx.parse(b);
console.log(tx);
console.log("## INPUTS");
tx.inputs().forEach( function(i) {
console.log("\t", typeof i);
console.log("\t", buffertools.toHex(i));
});
}