1
0
Fork 0
mirror of https://github.com/ACINQ/eclair.git synced 2025-02-22 14:22:39 +01:00
A scala implementation of the Lightning Network.
Find a file
2016-11-14 17:07:53 +01:00
.readme Updated README; fixed urls, added API section 2016-10-18 16:37:32 +02:00
eclair-node better handle bad bitcoind rpc credentials (see #21) 2016-11-14 17:07:53 +01:00
lightning-types now using akka-http-json and akka-http-client (removed acinq-tools dependency) 2016-11-08 19:32:01 +01:00
travis Wip Alternateroute (#20) 2016-09-07 14:21:17 +01:00
.gitignore Added 'send' macro in test scenario (#10) 2016-05-31 13:04:09 +02:00
.travis.yml travis: disable interop test 2016-10-17 13:49:11 +02:00
LICENSE now using sonatype repos for acinq-tools 2016-01-21 15:04:42 +01:00
pom.xml now using akka-http-json and akka-http-client (removed acinq-tools dependency) 2016-11-08 19:32:01 +01:00
README.md Updated README; fixed urls, added API section 2016-10-18 16:37:32 +02:00
TESTING.md update TESTING.md 2016-06-02 17:15:11 +02:00

Eclair Logo

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.

Build Status


Overview

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

Eclair Demo

Installation

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.


Development

Set up the environment

⚠️ eclair currently runs on regtest/segnet only. Do not try and modify it to run on bitcoin mainnet!

  • Make sure that bitcoin-cli is on the path and edit ~/.bitcoin/bitcoin.conf and add:
server=1
regtest=1
rpcuser=***
rpcpassword=***

Run

  • 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 jar eclair-node_2.11-0.2-SNAPSHOT-xxxxxx-capsule-fat.jar

JVM Options

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.

Testing with lightningd

→ Checkout our guide

JSON-RPC API

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

Project Status

  • Network
  • Routing (simple IRC prototype)
  • Channel protocol
  • HTLC Scripts
  • Unilateral close handling
  • Relaying Payment
  • Fee management
  • Blockchain watcher
  • Storing states in a database

Resources

Other implementations

Name Language Compatible
Amiko-Pay Python no
lightning-c C yes
lnd Go no
Thunder Java no