0.3.1 • Published 5 years ago

nano-node-rpc v0.3.1

Weekly downloads
27
License
MIT
Repository
github
Last release
5 years ago

Nano NodeJS RPC Client

npm version

Nano RPC client written with NodeJS.
It produces JSON objects or strings as output, wrapped in native promises.

All RPC calls are defined here: https://github.com/nanocurrency/nano-node/wiki/RPC-protocol

Table of Contents

Getting Started

Install

npm install nano-node-rpc

Nanode Node API

const NanoClient = require('nano-node-rpc');
const client = NanoClient({apiKey: process.env.NINJA_API_KEY})

Your own Nano RPC server

const NanoClient = require('nano-node-rpc');
const client = NanoClient({url: 'http://localhost:7076'})

Use methods attached to client to send RPC calls

Examples

Head to the examples.js file for even more!

const client = new RaiClient(NODE_ADDRESS [, decodeJSON]);

// Some methods do not require arguments:
client
  .block_count()
  .then(count => {
    console.log(count);
    /**
     * {
     *   "count": "1826834",
     *   "unchecked": "3385205"
     * }
     */
  })
  .catch(e => {
    // Deal with your errors here.
  });

// Some methods require arguments:
client
  .account_balance("xrb_mySuperAddress")
  .then(balance => {
    console.log(balance);
    /**
     * {
     *   "balance": "325586539664609129644855132177",
     *   "pending": "2309370929000000000000000000000000"
     * }
     */
  })
  .catch(e => {
    // Deal with your errors here.
  });

Promise-wrapped responses

All method calls return native NodeJS promises. You need to use the then() / catch() pattern shown above. If the call was succesful, the data will be passed to then(), otherwise the error will be passed to catch().

Methods Names

The method calls are the same as the original RPC actions defined on the RaiBlocks wiki. (See https://github.com/clemahieu/raiblocks/wiki/RPC-protocol)

Example1: on the RaiBlocks wiki account_balance is called with account. For the NodeJS client, the method is account_balance and the argument is the account string.