I'm the lead Bitcoin and front-end developer for Min.io.
I'm a big fan of Node.js. I use the Bitcoin-Node module to interface with bitcoind. However, often I would do testing and needed to run a command quickly without having to code the command and then run the server again. By using the browser I wanted to just run any command directly with no fuss.
So, I created Bitcoin Node Api. This an Express JS middleware plugin that opens a chosen url to interface with your chosen Bitcoin wallet.
An example Node.js Express server. As easy as that!
var express = require('express');
var app = express();
//Username and password relate to those set in the bitcoin.conf file
var wallet = {
host: 'localhost',
port: 8332,
user: 'username',
pass: 'password'
};
bitcoinapi.setWalletDetails(wallet);
bitcoinapi.setAccess('default-safe'); //Access control
app.use('/bitcoin/api', bitcoinapi.app); //Bind the middleware to any chosen url
app.listen(3000);
Just add the method name after the binded url.
For example:
Returns this:
"version": 80300,
"protocolversion": 70001,
"walletversion": 60000,
"balance": 4.3222,
"blocks": 245645,
"timeoffset": -2,
"connections": 8,
"proxy": "",
"difficulty": 21335329.113983,
"testnet": false,
"keypoololdest": 1368414896,
"keypoolsize": 101,
"paytxfee": 0.0001,
"unlocked_until": 0,
"errors": ""
}
It's in its infancy. Some commands do not work out of the box, specifically the more complex commands.
If you like this project, star/watch it and/or contribute code. You can read more about the project by checking out the repo. I'll be adding support for more commands as time goes on.