dpos-api-wrapper

DPOS API Wrapper written in TypeScript

Usage no npm install needed!

<script type="module">
  import dposApiWrapper from 'https://cdn.skypack.dev/dpos-api-wrapper';
</script>

README

npm Build Status Coverage Status

Dpos Javascript Library

Through this library you can interact with a dposAPI node in an easy way. The library works both in the browser and Node.js.

Documentation

All available methods are available in the jsdoc

Quick Start

Include the library in your browser.

Either download dist/browser/index.js or use gitcdn as follows:

<script type="text/javascript" src="https://unpkg.com/dpos-api-wrapper/dist/browser/index.js"></script>
<script>
  dposAPI.nodeAddress = 'http://example.com:5566'; // Set your node url here. (no trailing slash)
  
  // ...
</script>

Include it with npm (Suitable also for webpack/browserify)

npm i dpos-api-wrapper -D
var dposAPI = require('dpos-api-wrapper').dposAPI;
dposAPI.nodeAddress= 'http://example.com:5566'; // Set your node url here. (no trailing slash) 

Compatibility

Browser Support

Chrome Firefox Safari Opera Edge IE
Latest ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔ 8+ ✔

Browser Matrix

Node support

Node >= 4.x is fully supported :)

Examples

All the APIs are designed to be easy to use. You can use both Callbacks or Promises; you decide.

For example you can open a new account by doing. Be aware that all the methods sending a secret over the network are going to be deprecated:

dposAPI.accounts.open('secret', function(error, account) {
  if (!error) {
    // yay!
    console.log(account);
  } else {
    console.log('error: ', error);
  }
  // ...
});

or

dposAPI.accounts.open('secret')
    .then(function (account) {
      console.log(account);
    })
    .catch(function (error) {
      console.log('error: ', error);
    });

which can be even shorter if you write your code in TypeScript or ES6

dposAPI.accounts.open('secret')
    .then(console.log)
    .catch(error => console.log('error: ', error));

Advanced Usage

In some cases you need to connect to multiple nodes.

To do so, just use the newWrapper method:

var node1 = dposAPI.newWrapper('http://node1:1234');
var node2 = dposAPI.newWrapper('http://node2:1234');

// interact with node1 & node2 using the same APIs available within 'dposAPI' variable.