node-bankcoin is a simple wrapper for the bankcoin client's JSON-RPC API.
npm install node-bankcoin
var client = new bankcoin.Client({
host: 'localhost',
port: 15715,
user: 'username',
pass: 'password'
});
client.getBalance('*', 6, function(err, balance) {
if (err) return console.log(err);
console.log('Balance:', balance);
});
client.cmd('getbalance', '*', 6, function(err, balance){
if (err) return console.log(err);
console.log('Balance:', balance);
});
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);
});
See Enabling SSL on original client.
If you're using this to connect to bankcoind across a network it is highly
recommended to enable ssl
, otherwise an attacker may intercept your RPC credentials
resulting in theft of your bankcoins.
When enabling ssl
by setting the configuration option to true
, the sslStrict
option (verifies the server certificate) will also be enabled by default. It is
highly recommended to specify the sslCa
as well, even if your bankcoind has
a certificate signed by an actual CA, to ensure you are connecting
to your own bankcoind.
var client = new bankcoin.Client({
host: 'localhost',
port: 15715,
user: 'username',
pass: 'password',
ssl: true,
sslStrict: true,
sslCa: fs.readFileSync(__dirname + '/server.cert')
});
If your using a self signed certificate generated with something like
openssl x509 -req -days 365 -in server.cert -signkey server.key -out server.cert
then sslStrict
should be set to false
because by defult node wont work with
untrusted certificates.