README
nodescape-cmd
nodescape-cmd is a simple wrapper for the coin client's JSON-RPC API.
Install
npm install nodescape-cmd
Examples
Create client
var client = new nodescape.Client({
host: 'localhost',
port: 11995,
user: 'rpcuser',
pass: 'rpcpassword'
});
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);
});
cmd
Getting the balance directly using client.cmd('getbalance', '*', 6, function(err, balance){
if (err) return console.log(err);
console.log('Balance:', balance);
});
Get the master node List
client.fundamentalnode('list', function(err, list) {
if (err) return console.log(err);
console.log('fundamentalnodes List:', list);
});
Get the master node count
client.fundamentalnode('count', function(err, count) {
if (err) return console.log(err);
console.log('fundamentalnodes :', count);
});
Batch multiple RPC calls into a 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);
});
SSL
See Enabling SSL on original client.
If you're using this to connect to a daemon across a network it is highly
recommended to enable ssl
, otherwise an attacker may intercept your RPC credentials
resulting in theft of your coin.
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 daemon has
a certificate signed by an actual CA, to ensure you are connecting
to your own daemon.
var client = new nodescape.Client({
host: 'localhost',
port: 11995,
user: 'rpcuser',
pass: 'rpcpassword',
ssl: true,
sslStrict: true,
sslCa: fs.readFileSync(__dirname + '/server.cert')
});
If you're 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.