node-gridcoin is a simple wrapper for the Gridcoin client's JSON-RPC API.
npm install node-gridcoin
var client = new gridcoin.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 gridcoinresearchd across a network, it is highly
recommended to enable ssl
otherwise an attacker may intercept your RPC credentials
resulting in theft of your Gridcoins.
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 gridcoinresearchd has
a certificate signed by an actual CA, to ensure you are connecting to your own gridcoinresearchd.
var client = new gridcoin.Client({
host: 'localhost',
port: 15715,
user: 'username',
pass: 'password',
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 default node won't work with
untrusted certificates.