ILP ledger plugin for simple unidirectional Bitcoin payment channels
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
scripts
src
.eslintrc
.gitignore
README.md
index.js
package-lock.json
package.json
test.js

README.md

ilp-plugin-bitcoin-paychan

Interledger.js Ledger Plugin for Bitcoin using CLTV Payment Channels

BitcoinInterledger.js

This plugin enables Interledger payments through Bitcoin using simple payment channels.

ilp-plugin-bitcoin-paychan implements the Interledger.js Ledger Plugin Interface, which allows Bitcoin to be used with ilp client and the ilp-connector.

Installation

Dependencies:

  • Node.js >=v7.10.0
  • Bitcoin Cored Node

Setup:

git clone https://github.com/interledgerjs/ilp-plugin-bitcoin-paychan.git
cd ilp-plugin-bitcoin-paychan
npm install

How It Works

ilp-plugin-bitcoin-paychan uses simple unidirectional Bitcoin payment channels implemented with CHECKLOCKTIMEVERIFY (CLTV). While the underlying channel is not conditional (i.e. does not use hashlocks), the plugin only sends updates to the channel when it receives the fulfillment from the other party. This means that payments that there is some risk for payments that are in flight. However, the Interledger Protocol isolates participants from risk from indirect peers.

By implementing all of the functions required by the Ledger Plugin Interface, this allows Bitcoin to be used by standard Interledger.js components.

For more information about how Interledger works, see IL-RFC 1: Interledger Architecture.