Nine Parsecs from Milwaukee
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    eris-db-promisepublic

    ErisDB Promise JS lib (Alpha)

    This is JavaScript JSON-RPC 2.0 client library for ErisDB

    Installation

    Prerequisites

    You will need ErisDB installed and running Also this library is using ES6 so you will have to use node.js > 4.0.0

    Installing node module

    $ npm i --save eris-db-promise

    Usage

    Finding out ErisDB IP

    $ eris chains inspect <name of ErisDB server> NetworkSettings.IPAddress

    After that you will be able to create new instance of library:

    const erisFactory = require('eris-db-promise')
    // For base HTTP JSON RPC 
    const erisDb = erisFactory.createInstance('http://<Your IP Address>:1337/rpc')
    // For WebSocket RPC client 
    const erisDb = erisFactory.createInstance('ws://<Your IP Address>:1337/socketrpc')

    This library uses Promise so all methods will return promises:

    erisDb.accounts
      .getAccounts()
      .then((list) => {
        // working with list of accounts 
      })

    API Reference

    Library contains this components:

    Component Name Accessor
    Accounts ErisDB.accounts
    Blockchain ErisDB.blockchain
    Consensus ErisDB.consensus
    Events ErisDB.events
    NameReg ErisDB.namereg
    Network ErisDB.network
    Transactions ErisDB.transactions
    Unsafe ErisDB.unsafe

    All methods are made using documentation here

    All methods usages are described in tests

    Browser usage

    This library has browser version into dist/index.js you could download it and use in browser. Example of usage is into dist/index.html

    Signing transactions

    This library includes transaction signing mechanism.

    Sample:

    const tx = {
      inputs: [
        {
          address: user.address,
          amount: 101,
          sequence: 1,
          pub_key: user.pub_key
        }
      ],
      outputs: [
        {
          address: other_account.address,
          amount: 100
        }
      ]
    }
    const txForSign = {
      chain_id: 'chainIdHere',
      tx: [
        2,
        _.cloneDeep(tx)
      ]
    }
    erisdb.transactions
      .sign(txForSign, config.account.privKey)
      .then((signed) => {
        tx.inputs[0].signature = signed
      })
      .then(() => {
        return global.erisdb
          .transactions
          .broadcastTx(tx)
      })

    Keywords

    none

    install

    npm i eris-db-promise

    Downloadslast 7 days

    3

    version

    1.1.0

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar