mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-17 19:03:42 +01:00
Core Lightning — Lightning Network implementation focusing on spec compliance and performance
cd90c8408c
We were getting an assert "!secp256k1_fe_is_zero(&ge->x)", because an all-zero pubkey is invalid. We allow marshal/unmarshal of NULL for now, and clean up the error handling. 1. Use status_failed if master sends a bad message. 2. Similarly, kill the gossip daemon if it gives a bad reply. 3. Use an array for returned pubkeys: 0 or 2. 4. Use type_to_string(trc, struct short_channel_id, &scid) for tracing. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> |
||
---|---|---|
bitcoin | ||
ccan | ||
contrib | ||
daemon | ||
doc | ||
libsodium@fce6852d64 | ||
libwally-core | ||
lightningd | ||
secp256k1 | ||
test | ||
tests | ||
tools | ||
wire | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
.travis.yml | ||
check-bolt.c | ||
close_tx.c | ||
close_tx.h | ||
find_p2sh_out.c | ||
find_p2sh_out.h | ||
HACKING.md | ||
INSTALL.md | ||
irc.c | ||
irc.h | ||
LICENSE | ||
lightning.pb-c.c | ||
lightning.pb-c.h | ||
lightning.proto | ||
Makefile | ||
opt_bits.c | ||
opt_bits.h | ||
overflows.h | ||
permute_tx.c | ||
permute_tx.h | ||
protobuf_convert.c | ||
protobuf_convert.h | ||
README.md | ||
remove_dust.h | ||
TODO.md | ||
type_to_string.c | ||
type_to_string.h | ||
utils.c | ||
utils.h | ||
version.c | ||
version.h |
Lightning Protocol Reference Implementation
In this repository we're developing a reference implementation of bitcoin lightning (see: http://lightning.network which proposed the original "lightning network").
This implementation is being developed in parallel with the protocol definition, which you can find on my fork of the protocol description repository.
If you're interested in using the daemon to test payments, the JSON-RPC interface is documented in the following manual pages:
Steps:
- If you're running a previous version, you'll need to shut it down (maybe close channels first) and delete the $HOME/.lightning directory.
- Install and compile the requirements.
- Make sure bitcoind is running in testnet mode, and has the latest blocks.
- Get some test bitcoins, such as from TPs' testnet faucet.
- If you want others to connect to your lightningd, create $HOME/.lightning/config and put
port=8334
in it (or any other port). - Run
daemon/lightningd
. - Run
daemon/lightning-cli getinfo
to check it's working. - Find a node using
daemon/lightning-cli getnodes
(this will populate over time). - Create a new connection to the node using
contrib/lightning-open-channel ADDRESS PORT AMOUNT
where AMOUNT is in BTC (.04294967 is the maximum possible). If successful, this will return only once a block has been mined with the funding transaction in it. - You can create more channels if you wish.
- You can accept payment using
daemon/lightning-cli invoice MILLISATOSHI LABEL
; it will give you a payment hash to give to the payer. - You can send payments using
contrib/lightning-pay DEST-ID MILLISATOSHI PAYMENT-HASH
.
Final note: This is very much a testbed and work in progress; expect All The Things to change, all the time.
Welcome aboard!
Rusty.