node-smartcash is based on node-bitcoin with modifications to disable SSL, to allow an array of command parameters, and to update the list of API commands (based on the official list of SmartCash console commands). You can either use the CamelCase method on the smartcash.Client
object (methods are listed in lib/commands.js) or use the cmd
method directly. More information about JSON-RPC usage for SmartCash core can be found in the SmartCash config file reference (search "JSON-RPC options"). More information about a particular command can be found via Help > Debug Window > Console in SmartCash Core (SmartCash node client) by using help [command]
where [command] is the command in lowercase.
node-smartcash is best used as a dependency in a project that will communicate with a SmartCash Core instance on the same machine. For an example see SmartSweeper.
npm install node-smartcash
const smartcash = require('node-smartcash')
// all config options are optional
var client = new smartcash.Client({
host: 'localhost',
port: 9678,
user: 'username',
pass: 'password',
timeout: 30000
});
client.getBalance(['*', 6], function(error, response, resHeaders) {
if (error) console.log('Error: ', error);
console.log('Balance: ', response);
});
client.cmd('getbalance', ['*', 6], function(error, response, resHeaders){
if (error) console.log('Error: ', error);
console.log('Balance: ', response);
});
client.help(['getbalance'], function(error, response, resHeaders) {
if (error) console.log('Error: ', error);
console.log(response);
});
client.cmd('help', ['getbalance'], function(error, response, resHeaders){
if (error) console.log('Error: ', error);
console.log(response);
});
Unlike the original node-bitcoin connecting to a remote bitcoind instance, using JSON-RPC over SSL to connect to a remote SmartCash Core instance isn't supported.
npm test
To run the tests you must have SmartCash Core installed and configured to accept RPC commands. The rpcuser and rpcpassword in the SmartCash config file (smartcash.conf) must match user and pass in test/config.js. See the SmartCash config file reference (search "JSON-RPC options") for more information.