diff --git a/README.md b/README.md index 58607f3288..d901989ed3 100644 --- a/README.md +++ b/README.md @@ -7,17 +7,25 @@ **Eclair** (French for Lightning) is a Scala implementation of the Lightning Network. -This software follows the [Lightning Network Specifications (BOLTs)](https://github.com/lightningnetwork/lightning-rfc). Other implementations include [c-lightning](https://github.com/ElementsProject/lightning) and [lnd](https://github.com/LightningNetwork/lnd). +This software follows the [Lightning Network Specifications (BOLTs)](https://github.com/lightningnetwork/lightning-rfc). Other implementations include [c-lightning](https://github.com/ElementsProject/lightning), [lnd](https://github.com/LightningNetwork/lnd), [electrum](https://github.com/spesmilo/electrum/), and [rust-lightning](https://github.com/rust-bitcoin/rust-lightning). --- - -:construction: Both the BOLTs and Eclair itself are still a work in progress. Expect things to break/change! - -:rotating_light: If you run Eclair on mainnet (which is the default setting): - -* Keep in mind that it is beta-quality software and **don't put too much money** in it -* Eclair's JSON API should **NOT** be accessible from the outside world (similarly to Bitcoin Core API) - + * [Lightning Network Specification Compliance](#lightning-network-specification-compliance) + * [JSON API](#json-api) + * [Documentation](#documentation) + * [Installation](#installation) + * [Prerequisite: Bitcoin Core](#prerequisite-bitcoin-core) + * [Installing Eclair](#installing-eclair) + * [Configuration](#configuration) + * [Configuration file](#configuration-file) + * [Configure Bitcoin Core wallet](#configure-bitcoin-core-wallet) + * [Java Environment Variables](#java-environment-variables) + * [Logging](#logging) + * [Backup](#backup) + * [Docker](#docker) + * [Plugins](#plugins) + * [Testnet usage](#testnet-usage) + * [Resources](#resources) --- ## Lightning Network Specification Compliance @@ -30,6 +38,8 @@ Eclair offers a feature-rich HTTP API that enables application developers to eas For more information please visit the [API documentation website](https://acinq.github.io/eclair). +:rotating_light: Eclair's JSON API should **NOT** be accessible from the outside world (similarly to Bitcoin Core API) + ## Documentation Please visit our [docs](./docs) and [wiki](https://github.com/acinq/eclair/wiki) to find detailed instructions on how to configure your @@ -39,7 +49,7 @@ You will find detailed guides and frequently asked questions there. ## Installation -### Configuring Bitcoin Core +### Prerequisite: Bitcoin Core :warning: Eclair requires Bitcoin Core 0.20.1 or 0.21.1. If you are upgrading an existing wallet, you may need to create a new address and send all your funds to that address. @@ -73,9 +83,9 @@ eclair-node--/bin/eclair-node.sh You can then control your node via the [eclair-cli](https://github.com/ACINQ/eclair/wiki/Usage) or the [API](https://github.com/ACINQ/eclair/wiki/API). -### Configuring Eclair +## Configuration -#### Configuration file +### Configuration file Eclair reads its configuration file, and write its logs, to `~/.eclair` by default. @@ -105,7 +115,7 @@ Quotes are not required unless the value contains special characters. Full synta → see [here](./docs/Configure.md) for more configuration options. -#### Configure Bitcoin Core wallet +### Configure Bitcoin Core wallet Eclair will use the default loaded Bitcoin Core wallet to fund any channels you choose to open. If you want to use a different wallet from the default one, you must set `eclair.bitcoind.wallet` accordingly in your `eclair.conf`. @@ -115,7 +125,7 @@ If you want to use a different wallet from the default one, you must set `eclair Eclair will return BTC from closed channels to the wallet configured. Any BTC found in the wallet can be used to fund the channels you choose to open. -#### Java Environment Variables +### Java Environment Variables Some advanced parameters can be changed with java environment variables. Most users won't need this and can skip this section. @@ -132,7 +142,7 @@ For example, to specify a different data directory you would run the following c eclair-node--/bin/eclair-node.sh -Declair.datadir=/tmp/node1 ``` -#### Logging +### Logging Eclair uses [`logback`](https://logback.qos.ch) for logging. To use a different configuration, and override the internal logback.xml, run: @@ -140,7 +150,7 @@ Eclair uses [`logback`](https://logback.qos.ch) for logging. To use a different eclair-node--/bin/eclair-node.sh -Dlogback.configurationFile=/path/to/logback-custom.xml ``` -#### Backup +### Backup The files that you need to backup are located in your data directory. You must backup: @@ -154,7 +164,7 @@ always consistent and safe to use even when Eclair is running, and this is what For example, you could configure a `cron` task for your backup job. Or you could configure an optional notification script to be called by eclair once a new database snapshot has been created, using the following option: ```conf -eclair.backup-notify-script = "/absolute/path/to/script.sh" +eclair.file-backup.notify-script = "/absolute/path/to/script.sh" ``` Make sure your script is executable and uses an absolute path name for `eclair.sqlite.bak`.