arcalinea / ilp-plugin-zcash-paychan

ILP ledger plugin for simple unidirectional Zcash payment channels

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ilp-plugin-zcash-paychan

Interledger.js Ledger Plugin for Zcash using CLTV Payment Channels

ZcashInterledger.js

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

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

Installation

Dependencies:

  • Node.js >=v7.10.0
  • Zcash Node

Setup:

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

RPC Auth

You can use the getConf() function in the zcash module to get your zcash.conf file options as a json object "conf". Use this or some other method to set username and password for RPC authentication.

How It Works

ilp-plugin-zcash-paychan uses simple unidirectional Zcash 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 Zcash to be used by standard Interledger.js components.

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

About

ILP ledger plugin for simple unidirectional Zcash payment channels


Languages

Language:JavaScript 100.0%