Numerous Philanthropic Misanthropes

    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

    Keywords

    none

    Install

    npm i lightrpc

    DownloadsWeekly Downloads

    16

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    23.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • sekhmet