Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Go to file
Rusty Russell ec64e7756e protocol: pkt_reconnect becomes pkt_init, and always send.
Make this always the first packet after auth.  That means there's no
reliance on whether a node remembers an aborted connection.

It also gives us a place to put version bits.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-07 17:39:34 +10:30
bitcoin routing: Added IRC announcement glue 2016-09-07 23:49:39 +02:00
ccan ccan: remove canned config.h 2016-10-07 13:59:57 +10:30
daemon protocol: pkt_reconnect becomes pkt_init, and always send. 2016-10-07 17:39:34 +10:30
doc doc: manpages for the various lightning RPC calls. 2016-09-06 16:47:41 +09:30
secp256k1 libsecp256k1: update. 2016-07-01 12:00:17 +09:30
test protocol: no signature in update_commit if receiver has no outputs. 2016-08-18 14:25:13 +09:30
.gitignore check-bolt: check that comments in code match the specs. 2016-05-03 11:27:56 +09:30
.gitmodules daemon/jsmn: Add submodule for jsmn. 2016-01-22 06:37:13 +10:30
check-bolt.c check-bolt: make it compile cleanly with -Wextra. 2016-09-02 11:58:18 +09:30
close_tx.c permute_tx: don't save permutation map. 2016-08-18 14:23:46 +09:30
close_tx.h base58, script, protobuf_convert: don't use temporary secp256k1 context. 2016-07-01 12:00:17 +09:30
find_p2sh_out.c scripteq: simple helper for comparing scripts. 2016-05-03 11:27:56 +09:30
find_p2sh_out.h Remove unused script functions now we use witness. 2016-04-24 20:09:39 +09:30
HACKING.md Fill out TODO.md into a useful list (mainly by grepping for FIXMEs). 2016-04-12 16:07:47 +09:30
INSTALL.md README.md: include libmysql-dev 2016-08-18 22:07:35 -04:00
irc.c irc: fix check-source. 2016-10-07 13:56:57 +10:30
irc.h irc: fix check-source. 2016-10-07 13:56:57 +10:30
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
lightning.pb-c.c protocol: pkt_reconnect becomes pkt_init, and always send. 2016-10-07 17:39:34 +10:30
lightning.pb-c.h protocol: pkt_reconnect becomes pkt_init, and always send. 2016-10-07 17:39:34 +10:30
lightning.proto protocol: pkt_reconnect becomes pkt_init, and always send. 2016-10-07 17:39:34 +10:30
Makefile Makefile: don't regenerate manpages unless they've really changed. 2016-10-07 13:57:57 +10:30
names.c db.c: database API. 2016-08-18 14:25:13 +09:30
names.h db.c: database API. 2016-08-18 14:25:13 +09:30
opt_bits.c opt_bits: parsing routines for 'bits' == 100 satoshi. 2015-06-07 13:52:04 +09:30
opt_bits.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
overflows.h daemon: routing infrastructure. 2016-07-01 12:00:17 +09:30
permute_tx.c permute_tx: don't save permutation map. 2016-08-18 14:23:46 +09:30
permute_tx.h permute_tx: don't save permutation map. 2016-08-18 14:23:46 +09:30
protobuf_convert.c protobuf_convert: expose helpers for unwrapping protobufs into tal heirarchies 2016-08-30 20:15:57 +09:30
protobuf_convert.h protobuf_convert: expose helpers for unwrapping protobufs into tal heirarchies 2016-08-30 20:15:57 +09:30
README.md doc: manpages for the various lightning RPC calls. 2016-09-06 16:47:41 +09:30
remove_dust.h channel: remove htlcs array. 2016-08-18 14:23:46 +09:30
state_types.h protocol: rename clearing to shutdown. 2016-08-18 14:23:46 +09:30
state.c db: save error, return it when we commit transaction. 2016-09-06 16:47:49 +09:30
state.h peer: do not send anchor depth input twice. 2016-09-13 15:26:44 +09:30
TODO.md TODO: remove to-dones. 2016-09-06 16:47:48 +09:30
utils.c routing: Added IRC announcement glue 2016-09-07 23:49:39 +02:00
utils.h routing: Added IRC announcement glue 2016-09-07 23:49:39 +02:00
version.c getinfo: add version information 2016-09-14 05:28:51 +09:30
version.h getinfo: add version information 2016-09-14 05:28:51 +09:30

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:

So far, we have inter-node encryption and transaction negotiation.

Routing between non-adjacent nodes is currently done manually using the 'dev-addroute' command; later on daemons will advertise their IP addresses, and publish routes and fees. These details are currently being hashed out on the mailing list and the IRC channel #lightning-dev on Freenode.

Final note: This is very much a testbed and work in progress; expect All The Things to change, all the time.

Welcome aboard!

Rusty.