Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Go to file
Rusty Russell 73df39e0c9 test_protocol: attach states to each HTLC, rather than using queues.
This is simpler for database representation, and also allows simple
bit-tests for what is happening to a HTLC (eg. am I committed to it?
Are you?  etc.)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:23:44 +09:30
bitcoin base58: fix check-source header order check. 2016-08-09 15:30:34 +09:30
ccan daemon: use siphash for hashes. 2016-07-01 12:00:17 +09:30
daemon peer: fix --port option. 2016-08-18 14:23:20 +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 test_protocol: attach states to each HTLC, rather than using queues. 2016-08-18 14:23:44 +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 protocol: add output script to close_clearing message. 2016-04-24 20:01:52 +09:30
close_tx.h base58, script, protobuf_convert: don't use temporary secp256k1 context. 2016-07-01 12:00:17 +09:30
commit_tx.c htlc: store which side created the HTLC. 2016-07-01 12:00:17 +09:30
commit_tx.h pubkey: don't carry around DER encoding. 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 INSTALL.md: update install details for ubuntu 16.04 2016-08-13 00:55:06 -04:00
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
lightning.pb-c.c cryptopkt: revert ack split in authenticate_packet 2016-08-09 13:11:11 +09:30
lightning.pb-c.h cryptopkt: revert ack split in authenticate_packet 2016-08-09 13:11:11 +09:30
lightning.proto cryptopkt: revert ack split in authenticate_packet 2016-08-09 13:11:11 +09:30
Makefile maintclean: fix depends and typo 2016-08-09 13:11:13 +09:30
names.c daemon: allow commands during commit. 2016-05-26 15:25:25 +09:30
names.h daemon: allow commands during commit. 2016-05-26 15:25:25 +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 commit_tx: keep permutation map. 2016-05-03 11:27:56 +09:30
permute_tx.h commit_tx: keep permutation map. 2016-05-03 11:27:56 +09:30
protobuf_convert.c protobuf_convert: use libsecp256k1 to serialize. 2016-07-01 12:00:17 +09:30
protobuf_convert.h bitcoin: implement sig_valid. 2016-07-01 12:00:17 +09:30
README.md Update README.md 2016-07-07 16:49:05 -05:00
remove_dust.c remove_dust: don't ever create dust outputs. 2016-05-03 11:28:49 +09:30
remove_dust.h remove_dust: don't ever create dust outputs. 2016-05-03 11:28:49 +09:30
state_types.h daemon: allow commands during commit. 2016-05-26 15:25:25 +09:30
state.c daemon: always terminate waiting manual update command on failure. 2016-07-01 11:59:15 +09:30
state.h daemon: use htlc pointers everywhere. 2016-07-01 12:00:17 +09:30
TODO.md TODO: update to reflect progress 2016-05-06 14:07:44 +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.