Eclair is a scala implementation of the Lightning Network. Eclair is french for Lightning.
This software follows the BOLT specifications, therefore it is compatible with Blockstream's lightning-c.
This software creates a node compatible with a Lightning network and provides a GUI to manage the node. A JSON-RPC API is available if you prefer to run it headless.
Available actions:
- Open a channel with another eclair or lightningd instance
- Display opened channels with the node (status, balance, capacity, ...)
- Receive payments from another node
- Send payments to another node
The project is under heavy development and no release is available yet. Still you can download the sources, compile the project with Maven (cf §Development) and run it on localhost.
- JDK 1.8+
- Latest Scala installation
- Maven
- A segwit version of bitcoin core in testnet or regtest mode
- Make sure that bitcoin-cli is on the path and edit ~/.bitcoin/bitcoin.conf and add:
server=1
regtest=1
rpcuser=***
rpcpassword=***
- Download the sources and build the executable JAR with the following command:
mvn package -DskipTests
- Start bitcoind
- Mine enough blocks to activate segwit blocks:
bitcoin-cli generate 500
- Navigate to
eclair-node/target
and execute the jareclair-node_2.11-0.2-SNAPSHOT-xxxxxx-capsule-fat.jar
option | default value | description |
---|---|---|
eclair.server.port | TCP port | 9735 |
eclair.http.port | HTTP port | 8080 |
eclair.bitcoind.rpcuser | Bitcoin Core RPC user | foo |
eclair.bitcoind.rpcpassword | Bitcoin Core RPC password | bar |
→ see application.conf
for full reference.
→ Checkout our guide
method | params | description |
---|---|---|
connect | host, port, anchor_amount | opens a channel with another eclair or lightningd instance |
list | lists existing channels | |
addhtlc | channel_id, amount, rhash, locktime | sends an htlc |
fulfillhtlc | channel_id, r | fulfills an htlc |
close | channel_id | closes a channel |
help | displays available methods |
- Network
- Routing (simple IRC prototype)
- Channel protocol
- HTLC Scripts
- Unilateral close handling
- Relaying Payment
- Fee management
- Blockchain watcher
- Storing states in a database
- [1] The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments by Joseph Poon and Thaddeus Dryja
- [2] Reaching The Ground With Lightning by Rusty Russell
Name | Language | Compatible |
---|---|---|
Amiko-Pay | Python | no |
lightning-c | C | yes |
lnd | Go | no |
Thunder | Java | no |