Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Go to file
Rusty Russell c1dc0e54fa daemon/bitcoind: bitcoind_sendrawtx to send hex string.
This can fail.  Real cases include both sides dumping their commitment
txs in testing (only one can succeed).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-04 16:03:10 +09:30
bitcoin script: add check for 32-byte preimage. 2016-05-03 11:28:50 +09:30
ccan ccan: update (for htable_getfirst/getnext) 2016-05-03 11:27:56 +09:30
daemon daemon/bitcoind: bitcoind_sendrawtx to send hex string. 2016-05-04 16:03:10 +09:30
doc Minor fixes 2016-01-22 09:09:33 +10:30
secp256k1 secp256k1: add "ignored" files. 2015-09-30 16:39:02 +09:30
test patch remove-timeout.patch 2016-03-15 17:07:12 +10: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 protocol: add output script to close_clearing message. 2016-04-24 20:01:52 +09:30
commit_tx.c script: rename scriptpubkey_htlc_send to/recv bitcoin_redeem_htlc_send/recv 2016-05-03 11:28:50 +09:30
commit_tx.h commit_tx: keep permutation map. 2016-05-03 11:27:56 +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
funding.c check-bolt: check that comments in code match the specs. 2016-05-03 11:27:56 +09:30
funding.h funding: record changes so we can abide by BOLT#2 2016-03-31 17:12:20 +10: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 daemon: Implement encryption as per BOLT #1. 2016-03-16 16:06:17 +10:30
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
lightning.pb-c.c protocol: add output script to close_clearing message. 2016-04-24 20:01:52 +09:30
lightning.pb-c.h protocol: add output script to close_clearing message. 2016-04-24 20:01:52 +09:30
lightning.proto protocol: add output script to close_clearing message. 2016-04-24 20:01:52 +09:30
Makefile check-bolt: handle references to early-drafts too. 2016-05-04 16:03:04 +09:30
names.c names: generate names for command_status and state_peercond. 2016-01-22 06:41:46 +10:30
names.h names: generate names for command_status and state_peercond. 2016-01-22 06:41:46 +10: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 header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10: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 Remove Alpha support. 2016-04-11 16:32:43 +09:30
protobuf_convert.h bitcoin: hand in a secp256k1_context to all routines. 2016-01-22 06:41:47 +10:30
README.md Note that we need segwit-enabled bitcoind. 2016-04-12 14:26:38 +09:30
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 state: don't spend the "to-us" output from their commit tx. 2016-05-03 11:28:50 +09:30
state.c daemon: fix logic which determines how anchor output was spent. 2016-05-03 11:28:50 +09:30
state.h daemon: fix logic which determines how anchor output was spent. 2016-05-03 11:28:50 +09:30
TODO.md Fill out TODO.md into a useful list (mainly by grepping for FIXMEs). 2016-04-12 16:07:47 +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.

The protocol requires features not currently in bitcoin, so you will need Pieter Wuille's Segregated Witness bitcoind: https://github.com/sipa/bitcoin/tree/segwit4

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

Welcome aboard!

Rusty.