Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Go to file
Rusty Russell f8fa8c8dff peer: handle case correctly where they can't handle fees.
When they propose an HTLC to us, they need to be able to cover both it,
and the associated fees.  When it gets acked and applied to them, however,
they may no longer be able to afford the fees; this is OK and expected.

So add a flag to say whether they can dig into fees or not: without
this patch the code calls fatal() on the next patch which tests it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-31 16:06:32 +09:30
bitcoin Minor cleanups: things found while debugging the database code. 2016-08-18 14:25:13 +09:30
ccan daemon: use siphash for hashes. 2016-07-01 12:00:17 +09:30
daemon peer: handle case correctly where they can't handle fees. 2016-08-31 16:06:32 +09:30
doc Minor fixes 2016-01-22 09:09:33 +10: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: handle references to early-drafts too. 2016-05-04 16:03:04 +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
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
lightning.pb-c.c htlc: save fail message in HTLC. 2016-08-31 14:51:41 +09:30
lightning.pb-c.h htlc: save fail message in HTLC. 2016-08-31 14:51:41 +09:30
lightning.proto htlc: save fail message in HTLC. 2016-08-31 14:51:41 +09:30
Makefile daemon: first unit test, infrastructure. 2016-08-25 11:39:46 +09: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 Update README.md 2016-07-07 16:49:05 -05:00
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 peer: save/load results in database. 2016-08-18 14:25:14 +09:30
state.h protocol: rename clearing to shutdown. 2016-08-18 14:23:46 +09:30
TODO.md TODO: remove done items. 2016-08-31 16:06:31 +09:30
utils.c utils: tal_hexstr() helper. 2016-05-03 11:28:49 +09:30
utils.h utils: tal_hexstr() helper. 2016-05-03 11:28:49 +09:30
version.c source cleanup: sort include lines into alpha order 2016-01-22 06:38:08 +10:30
version.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10: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.

So far, we are working on the inter-node encryption and transaction negotiation phases.

Later steps will enhance the protocol to network individual daemons, advertise their IP addresses, publish routes and fees, and use that information to pay specific nodes. 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.