ilp-plugin-bells
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')
})