lightrpc

1.0.1 • Public • Published

LightRPC

Tiny JSON-RPC library - batteries not included.

build status npm version npm downloads

This project is not stable yet!

Getting Started

LightRPC is a minimal library for interacting with JSON RPC. It is designed to be small and work in browser and server.

Installing

Install using npm or yarn

npm install lightrpc
# or if you are using yarn 
yarn add lightrpc

Obtain development copy

git clone https://github.com/Sekhmet/lightrpc.git
cd lightrpc
npm install

Usage

Usage in browser

<script src="https://unpkg.com/lightrpc/dist/lightrpc.min.js"></script>

Or if you want to use not minified version

<script src="https://unpkg.com/lightrpc/dist/lightrpc.js"></script>
// using UMD (browser)
const client = new window.LightRPC('https://api.steemit.com');
 
// using CommonJS
const Client = require('lightrpc');
const client = new Client('https://api.steemit.com');
 
// using ES6 modules
import Client from 'lightrpc';
const client = new Client('https://api.steemit.com');
 
// sending requests
client.call('get_accounts', [['sekhmet']], function(err, result) {
  if (err !== null) console.error(err);
  console.log('response', result);
});
 
const request = {
  method: 'get_accounts',
  params: [['sekhmet']],
};
client.send(request, function(err, result) {
  if (err !== null) console.error(err);
  console.log('response', result);
});
 
const requests = [
  {
    method: 'get_accounts',
    params: [['sekhmet']],
  },
  {
    method: 'get_dynamic_global_properties',
    params: [],
  },
];
client.sendBatch(requests, function(err, result) {
  if (err !== null) console.error(err);
  console.log('response', result);
});

Options

You can configure client by using optional options parameter to Client constructor.

const options = {
  timeout: 5000,
};
 
const client = new Client('https://api.steemit.com', options);

You can change some (or all) options for specific request using 3 parameter to send method.

Option Default value Description
timeout 5000 Time after request should timeout.
headers {'Content-Type': 'application/json'} Headers to be included in requests.

Running the tests

You can run lint and tests using npm script

npm run test

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Readme

Keywords

none

Package Sidebar

Install

npm i lightrpc

Weekly Downloads

15

Version

1.0.1

License

MIT

Unpacked Size

23.8 kB

Total Files

9

Last publish

Collaborators

  • sekhmet