Skip to content

Commit

Permalink
Add documentation section
Browse files Browse the repository at this point in the history
Explain how to configure bitcoind to ensure you'll be able to use CPFP without
hitting unconfirmed transaction chains mempool limits.
  • Loading branch information
t-bast committed Apr 14, 2023
1 parent 1a4a9a9 commit 486d186
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,22 @@ 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.

We also recommend tweaking the following parameters in `bitcoin.conf`:

```conf
# This parameter ensures that your wallet will not create chains of unconfirmed
# transactions that would be rejected by other nodes.
walletrejectlongchains=1
# The following parameters set the maximum length of chains of unconfirmed
# transactions to 20 instead of the default value of 25.
limitancestorcount=20
limitdescendantcount=20
```

Setting these parameters lets you unblock long chains of unconfirmed channel funding transactions by using child-pays-for-parent (CPFP) to make them confirm.

With the default `bitcoind` parameters, if your node created a chain of 25 unconfirmed funding transactions with a low-feerate, you wouldn't be able to use CPFP to raise their fees because your CPFP transaction would likely be rejected by the rest of the network.

### Java Environment Variables

Some advanced parameters can be changed with java environment variables. Most users won't need this and can skip this section.
Expand Down Expand Up @@ -278,9 +294,14 @@ so you can easily run your Bitcoin node on both mainnet and testnet. For example
```conf
server=1
txindex=1
addresstype=bech32
changetype=bech32
walletrejectlongchains=1
limitancestorcount=20
limitdescendantcount=20
[main]
rpcuser=<your-mainnet-rpc-user-here>
rpcpassword=<your-mainnet-rpc-password-here>
Expand Down
1 change: 1 addition & 0 deletions docs/release-notes/eclair-vnext.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ All this data is signed and encrypted so that it can not be read or forged by th
- `channel-opened` websocket event was updated to contain the final `channel_id` and be published when a channel is ready to process payments (#2567)
- `getsentinfo` can now be used with `--offer` to list payments sent to a specific offer.
- `listreceivedpayments` lists payments received by your node (#2607)
- `cpfpbumpfees` can be used to unblock chains of unconfirmed transactions by creating a child transaction that pays a high fee (#1783)

### Miscellaneous improvements and bug fixes

Expand Down

0 comments on commit 486d186

Please sign in to comment.