npx skills add https://github.com/roasbeef/claude-files --skill eclairSKILL.md
Eclair Lightning Network Skill
Eclair is a Scala implementation of the Lightning Network. This skill helps you run eclair in Docker for development and testing, primarily on regtest.
Prerequisites
- Docker and Docker Compose installed
- (Optional) Bitcoin Core if not using the bundled docker-compose
Quick Start
Start the full regtest stack (Bitcoin Core + Eclair):
cd ~/.claude/skills/eclair/templates
docker-compose up -d --build # First time: builds eclair from source (~5-10 min)
docker-compose up -d # Subsequent runs: uses cached image
This starts:
bitcoind: Bitcoin Core 30 in regtest mode with ZMQeclair: Eclair 0.14.0-SNAPSHOT (built from local source)
Notes:
- Eclair is built from source at
/Users/roasbeef/codez/eclairbecause Docker Hub images have a "kill switch" for older versions - Eclair 0.14+ requires Bitcoin Core 29+, so we use
lightninglabs/bitcoin-core:30 - First build takes ~5-10 minutes to compile Scala code
Check status:
docker exec eclair eclair-cli -p devpassword getinfo
Docker Management
Build Image (from eclair source)
~/.claude/skills/eclair/scripts/docker-build.sh [--source /path/to/eclair]
Or pull pre-built image:
docker pull acinq/eclair:latest
Start Containers
Using docker-compose (recommended for regtest):
cd ~/.claude/skills/eclair/templates
docker-compose up -d
Using a custom image (e.g., from PR build):
cd ~/.claude/skills/eclair/templates
ECLAIR_IMAGE=eclair:pr-3144 docker-compose up -d
Single eclair container (requires external bitcoind):
~/.claude/skills/eclair/scripts/docker-start.sh --network regtest
Stop Containers
cd ~/.claude/skills/eclair/templates
docker-compose down
# To also remove volumes:
docker-compose down -v
View Logs
docker logs -f eclair
docker logs -f bitcoind
Execute Commands
docker exec eclair eclair-cli -p devpassword <command>
docker exec bitcoind bitcoin-cli -regtest <command>
Essential API Operations
All commands use the eclair REST API. Default password in regtest: devpassword
Node Information
# Get node info (nodeId, alias, blockHeight, etc.)
docker exec eclair eclair-cli -p devpassword getinfo
# List connected peers
docker exec eclair eclair-cli -p devpassword peers
Connect to Peers
# Connect by URI
docker exec eclair eclair-cli -p devpassword connect --uri=<nodeId>@<host>:<port>
# Connect by nodeId (requires DNS or known address)
docker exec eclair eclair-cli -p devpassword connect --nodeId=<nodeId>
# Disconnect
docker exec eclair eclair-cli -p devpassword disconnect --nodeId=<nodeId>
Channel Management
# Open channel (amount in satoshis)
docker exec eclair eclair-cli -p devpassword open \
--nodeId=<pubkey> \
--fundingSatoshis=1000000
# List all channels
docker exec eclair eclair-cli -p devpassword channels
# List channels (short format)
docker exec eclair eclair-cli -p devpassword -s channels
# Get specific channel
docker exec eclair eclair-cli -p devpassword channel --channelId=<id>
# Get channel balances
docker exec eclair eclair-cli -p devpassword channelbalances
# Close channel gracefully
docker exec eclair eclair-cli -p devpassword close --channelId=<id>
# Force close channel
docker exec eclair eclair-cli -p devpassword forceclose --channelId=<id>
Payments
# Create invoice (amount in millisatoshis)
docker exec eclair eclair-cli -p devpassword createinvoice \
--description="test payment" \
--amountMsat=100000000
# Parse invoice to see details
docker exec eclair eclair-cli -p devpassword parseinvoice --invoice=<bolt11>
# Pay invoice
docker exec eclair eclair-cli -p devpassword payinvoice --invoice=<bolt11>
# Check sent payment status
docker exec eclair eclair-cli -p devpassword getsentinfo --paymentHash=<hash>
# Check received payment status
docker exec eclair eclair-cli -p devpassword getreceivedinfo --paymentHash=<hash>
On-Chain Wallet
# Get new address
docker exec eclair eclair-cli -p devpassword getnewaddress
# Get on-chain balance
docker exec eclair eclair-cli -p devpassword onchainbalance
# Get global balance (on-chain + channels)
docker exec eclair eclair-cli -p devpassword globalbalance
# Send on-chain
docker exec eclair eclair-cli -p devpassword sendonchain \
--address=<btc_address> \
--amountSatoshis=50000 \
--confirmationTarget=6
Usable Balances
# Check how much you can send across all channels
docker exec eclair eclair-cli -p devpassword usablebalances
Regtest Development Workflow
1. Start the Stack
cd ~/.claude/skills/eclair/templates
docker-compose up -d
2. Fund the Eclair Wallet
# Generate blocks to have spendable coins
docker exec bitcoind bitcoin-cli -regtest -rpcuser=bitcoin -rpcpassword=bitcoin generatetoaddress 101 $(docker exec bitcoind bitcoin-cli
...
Repository
roasbeef/claude-filesParent repository
Repository Stats
Stars17
Forks3