@gohelpfund/helpd-rpc
Help Client Library to connect to Help Core (helpd) via RPC
Last updated a year ago by npm-gohelpfund .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @gohelpfund/helpd-rpc 
SYNC missed versions from official npm registry.

helpd-rpc

Build Status NPM Package

Help Client Library to connect to Help Core (helpd) via RPC

Install

helpd-rpc runs on node, and can be installed via npm:

npm install @gohelpfund/helpd-rpc

Usage

RpcClient

Config parameters :

- protocol : (string - optional) - (default: 'https') - Set the protocol to be used. Either `http` or `https`.
- user : (string - optional) - (default: 'user') - Set the user credential.
- pass : (string - optional) - (default: 'pass') - Set the password credential.
- host : (string - optional) - (default: '127.0.0.1') - The host you want to connect with.
- port : (integer - optional) - (default: 7778) - Set the port on which perform the RPC command.

Promise vs callback based

  • require('@gohelpfund/helpd-rpc/promise') to have promises returned
  • require('@gohelpfund/helpd-rpc') to have callback functions returned

Examples

Config:

var config = {
    protocol: 'http',
    user: 'help',
    pass: 'local321',
    host: '127.0.0.1',
    port: 17778
};

Promise based:

var RpcClient = require('@gohelpfund/helpd-rpc/promise');
var rpc = new RpcClient(config);

rpc.getRawMemPool()
    .then(ret => {
        return Promise.all(ret.result.map(r => rpc.getRawTransaction(r)))
    })
    .then(rawTxs => {
        rawTxs.forEach(rawTx => {
            console.log(`RawTX: ${rawTx.result}`);
        })
    })
    .catch(err => {
        console.log(err)
    })

Callback based (legacy):

var run = function() {
  var bitcore = require('@gohelpfund/helpcore-lib');
  var RpcClient = require('@gohelpfund/helpd-rpc');
  var rpc = new RpcClient(config);

  var txids = [];

  function showNewTransactions() {
    rpc.getRawMemPool(function (err, ret) {
      if (err) {
        console.error(err);
        return setTimeout(showNewTransactions, 10000);
      }

      function batchCall() {
        ret.result.forEach(function (txid) {
          if (txids.indexOf(txid) === -1) {
            rpc.getRawTransaction(txid);
          }
        });
      }

      rpc.batch(batchCall, function(err, rawtxs) {
        if (err) {
          console.error(err);
          return setTimeout(showNewTransactions, 10000);
        }

        rawtxs.map(function (rawtx) {
          var tx = new bitcore.Transaction(rawtx.result);
          console.log('\n\n\n' + tx.id + ':', tx.toObject());
        });

        txids = ret.result;
        setTimeout(showNewTransactions, 2500);
      });
    });
  }

  showNewTransactions();
};

Help

You can dynamically access to the help of each method by doing

const RpcClient = require('@gohelpfund/helpd-rpc');
var client = new RPCclient({
    protocol:'http',
    user: 'help',
    pass: 'local321', 
    host: '127.0.0.1', 
    port: 17778
});

var cb = function (err, data) {
    console.log(data)
};

// Get full help
client.help(cb);

// Get help of specific method
client.help('getinfo',cb);

Contributing

Feel free to dive in! Open an issue or submit PRs.

License

MIT © Help Core Group, Inc.

Current Tags

  • 1.2.1                                ...           latest (a year ago)

1 Versions

  • 1.2.1                                ...           a year ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (2)
Dev Dependencies (7)
Dependents (1)

Copyright 2014 - 2017 © taobao.org |