A client library to connect to Bitcoin Core RPC in JavaScript.
bitcoind-rpc.js runs on node, and can be installed via npm:
npm install bitcoind-rpc
var run = function() {
var bitcore = require('bitcore');
var RpcClient = require('bitcoind-rpc');
var config = {
protocol: 'http',
user: 'verusdesktop',
pass: 'pass',
host: '127.0.0.1',
port: '20646',
};
// config can also be an url, e.g.:
// var config = 'http://user:pass@127.0.0.1:18332';
var rpc = new RpcClient(config);
var txids = [];
function showNewTransactions() {
rpc.getRawMemPool(function (err, ret) {
if (err) {
console.error(err);
return setTimeout(showNewTransactions, 10000);
}
function batchCall() {
ret.result.forEach(function (txid) {
if (txids.indexOf(txid) === -1) {
rpc.getRawTransaction(txid);
}
});
}
rpc.batch(batchCall, function(err, rawtxs) {
if (err) {
console.error(err);
return setTimeout(showNewTransactions, 10000);
}
rawtxs.map(function (rawtx) {
var tx = new bitcore.Transaction(rawtx.result);
console.log('\n\n\n' + tx.id + ':', tx.toObject());
});
txids = ret.result;
setTimeout(showNewTransactions, 2500);
});
});
}
showNewTransactions();
};
To run the node server run
node httpserver.js
create a .env file with the
RPCPORT=12312 RPCPASSWORD=password RPCUSER=user RPCIP=127.0.0.1 NODEPORT=8000
Code released under the MIT license.
Copyright 2013-2018 BitPay, Inc.