[BREAKGLASS] Append-only mirror of github.com/mempool/node-bitcoin
Go to file
2012-10-22 16:15:24 -04:00
lib add rpc call batching 2012-10-18 14:38:15 -04:00
test add rpc call batching 2012-10-18 14:38:15 -04:00
.gitignore bitcoin errors should pass err object in callback 2012-02-23 01:02:34 -05:00
.gitmodules use testnet-box for tests 2012-04-25 20:22:28 -04:00
.travis.yml add travis ci 2012-06-27 05:55:15 -04:00
Changelog.md update changelog 2012-09-09 23:21:25 -04:00
Makefile upgrade testnet-box 2012-10-18 04:11:56 -04:00
package.json 1.5.0 2012-10-22 16:15:24 -04:00
Readme.md add rpc call batching 2012-10-18 14:38:15 -04:00

node-bitcoin

Build Status

node-bitcoin is a simple wrapper for the Bitcoin client's JSON-RPC API.

The API is equivalent to the API document here. The methods are exposed as lower camelcase methods on the bitcoin.Client object, or you may call the API directly using the cmd method.

Install

npm install bitcoin

Setup

  1. Traverse to ~/.bitcoin or ~/Library/Application Support/Bitcoin and add a file called bitcoin.conf if it doesn't already exist.

  2. Add these lines to the file:

    rpcuser=username

    rpcpassword=password

You will use these to login to the server.

  1. Start your Bitcoin client with the -server argument or run bitcoind

  2. You should now be able to communicate with Bitcoin JSON-RPC API using the node-bitcoin library, try it out!

Examples

Create client

var bitcoin = require('bitcoin');
var client = new bitcoin.Client('localhost', 8332, 'username', 'password');

Create client with single object

var client = new bitcoin.Client({
  host: 'localhost',
  port: 8332,
  user: 'username',
  pass: 'password'
});

Get balance across all accounts with minimum confirmations of 6

client.getBalance('*', 6, function(err, balance) {
  if (err) return console.log(err);
  console.log('Balance:', balance);
});

Getting the balance directly using cmd

client.cmd('getbalance', '*', 6, function(err, balance){
  if (err) return console.log(err);
  console.log('Balance:', balance);
});

Batch multiple RPC calls into single HTTP request

var batch = [];
for (var i = 0; i < 10; ++i) {
  batch.push({
    method: 'getnewaddress',
    params: ['myaccount']
  });
}
client.cmd(batch, function(err, address) {
  if (err) return console.log(err);
  console.log('Address:', address);
});