Giter VIP home page Giter VIP logo

ilp-plugin-bells's Introduction

ilp-plugin-bells npm circle codecov

ILP ledger plugin for five-bells-ledger

Installation

npm install --save ilp ilp-plugin-bells

Usage

const Client = require('ilp-core').Client

const client = new Client({
  _plugin: require('ilp-plugin-bells'),

  // a webfinger identifier can be used to resolve account information
  identifier: '[email protected]',
  password: 'alice'
})

ILP-Plugin-Bells can also be created via a factory, which allows many instances to share a single websocket connection.

Note: this requires an admin account on a ledger. Otherwise the factory can't listen for events on all accounts.

const Client = require('ilp-core').Client
const PluginBellsFactory = require('ilp-plugin-bells').Factory

// connects to the admin account and uses one websocket connection to subscribe
// to all transfers and messages on the ledger

const factory = new PluginBellsFactory({
  adminUsername: 'admin',
  adminPassword: 'admin',
  adminAccount: 'https://red.ilpdemo.org/ledger/accounts/admin' 
})

factory.connect().then(() => {

  // `create` will make a new, connected, PluginBells instance. If a plugin is already
  // created for a given username, then the existing plugin is returned from `create`

  return factory.create({ username: 'alice' })
  // { account: 'https://red.ilpdemo.org/ledger/accounts/alice' } is also valid

}).then((plugin) => {

  const client = new Client(plugin)

  // this call is uneccesary and will do nothing, because the plugin is already
  // connected
  plugin.connect()

  // neither will this call; the plugin doesn't maintain its own connection,
  // so it can't disconnect itself
  plugin.disconnect()

  // ...

  // when you're done using the plugin, call factory.remove in order to
  // get rid of all event listeners and stop caching the plugin.

  factory.remove('alice')
})

ilp-plugin-bells's People

Contributors

adrianhopebailie avatar alandotcom avatar emschwartz avatar justmoon avatar matthewphinney avatar sentientwaffle avatar vhpoet avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.