Skip to content

BBVA/hancock-sdk-nodejs

Repository files navigation

Hancock SDK client

Using this package

Dependencies

This lib depends on ES6 Promises that are native in node. But you have to polyfill it in some browsers using es6-promise package.

Installation

Once you have access to the kst registry:

  # with npm
  npm install --save es6-promise @hancock/sdk-nodejs

  # or using yarn
  yarn add es6-promise @hancock/sdk-nodejs

Using all together

The main client is the [[HancockEthereumClient]] class. You have to instantiate it passing an [[HancockConfig]] configuration object to indicate the client which hancock service it has to use.

Configuration object example:

const config = {
  adapter: {
    host: 'http://localhost',
    port: '3000',
    base: '/'
  },
  wallet: {
    host: 'http://localhost',
    port: '3000',
    base: '/'
  },
  broker: {
    host: 'ws://localhost',
    port: '3000',
    base: '/'
  }
}
  • In node:
require('es6-promise').polyfill();
const HancockEthereumClient = require('@hancock/sdk-nodejs').HancockEthereumClient

new HancockEthereumClient(config);
  • In browser:

We need to include the ethereumjs-tx module as an external deependency before the sdk:

<script src="https://raw.githubusercontent.com/ethereumjs/browser-builds/master/dist/ethereumjs-tx/ethereumjs-tx-1.3.3.min.js"></script>

And then use the sdk as an ES6 module (or in module bundlers like webpack)

import * as es6Promise from 'es6-promise';
es6Promise.polyfill();

import { HancockEthereumClient } from '@hancock/sdk-nodejs';
new HancockEthereumClient(config);

Introduction and examples

[[HancockEthereumClient]] provides interfaces to interact with the blockchain allowing common operation like transfers, balance consulting or smart contract interactions. Take a look at the diferent sections of the docs to see examples of use:

  • [[HancockEthereumWalletService]]
  • [[HancockEthereumTransferService]]
  • [[HancockEthereumTransactionService]]
  • [[HancockEthereumSmartContractService]]
  • [[HancockEthereumTokenService]]
  • [[HancockProtocolService]]