Bare-bones JSON-RPC client
Tiny JSON-RPC library - batteries not included.



This project is not stable yet!
LightRPC is a minimal library for interacting with JSON RPC.
It is designed to be small and work in browser and server.
#### Install using npm or yarn
``bash`
npm install lightrpcor if you are using yarn
yarn add lightrpc
#### Obtain development copy
`bash`
git clone https://github.com/Sekhmet/lightrpc.git
cd lightrpc
npm install
#### Usage in browser
`html`
Or if you want to use not minified version
`html`
`js
// 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.
`js
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. |
You can run lint and tests using npm script
```
npm run test
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Wiktor Tkaczyński - Sekhmet
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details