You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Rusty Russell 5de21f80de Regenerate PDF. 9 years ago
bitcoin bitcoin: use ccan/mem instead of rolling own check_mem function. 9 years ago
ccan ccan: add ccan/mem. 9 years ago
doc Regenerate PDF. 9 years ago
secp256k1 secp256k1: add "ignored" files. 9 years ago
test test/test_onion: demo program to show onion routing crypto. 9 years ago
test-cli test-cli/scripts: use setmocktime. 9 years ago
.gitignore Version number, name, and build details. 9 years ago
LICENSE LICENSE: Make MIT licensing clear. 9 years ago
Makefile bitcoin: use ccan/mem instead of rolling own check_mem function. 9 years ago
README.md README.md: A few more details about what we're doing. 9 years ago
close_tx.c protocol: switch to single-funder anchor model. 9 years ago
close_tx.h protocol: switch to single-funder anchor model. 9 years ago
commit_tx.c protocol: increase HTLC precision to 1/1000 satoshi. 9 years ago
commit_tx.h channel_state: encapsulate funding of channel in one place. 9 years ago
find_p2sh_out.c Sort include lines (ignoring hacky cli test utils). 9 years ago
find_p2sh_out.h find_p2sh_out: extract helper. 10 years ago
funding.c protocol: increase HTLC precision to 1/1000 satoshi. 9 years ago
funding.h protocol: increase HTLC precision to 1/1000 satoshi. 9 years ago
lightning.pb-c.c protocol: rename update_complete_htlc to update_fulfill_htlc. 9 years ago
lightning.pb-c.h protocol: rename update_complete_htlc to update_fulfill_htlc. 9 years ago
lightning.proto protocol: rename update_complete_htlc to update_fulfill_htlc. 9 years ago
opt_bits.c opt_bits: parsing routines for 'bits' == 100 satoshi. 10 years ago
opt_bits.h opt_bits: parsing routines for 'bits' == 100 satoshi. 10 years ago
overflows.h open-anchor-sig, many fixes for open-channel. 10 years ago
permute_tx.c permute: use BIP69 order. 9 years ago
permute_tx.h permute: use BIP69 order. 9 years ago
pkt.c protocol: rename update_complete_htlc to update_fulfill_htlc. 9 years ago
pkt.h protocol: split message update_remove_htlc into update_timedout_htlc and update_routefail_htlc, remove update_remove_htlc_delay. 9 years ago
protobuf_convert.c bitcoin: signature fixes. 9 years ago
protobuf_convert.h proto_to_locktime: abs and relative locktime handlers. 9 years ago
state.c test_state_coverage: test all accept_pkt failure paths. 9 years ago
state.h state: Allow CMD_CLOSE at any time. 9 years ago
state_types.h state: use INPUT_RVALUE instead of CMD_SEND_HTLC_FULFILL during closing. 9 years ago
version.c Version number, name, and build details. 9 years ago
version.h Version number, name, and build details. 9 years ago

README.md

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").

The first step was to develop a wire protocol for nodes to talk to each other. The wire protocol is documented in lightning.proto (a protobuf definition file). There are command line utilities to create and process various packets in test-cli.

The second step is to create a daemon which uses that protocol to communicate with others to set up channels and make simple payments. This also involves monitoring the blockchain for transactions. This is where development is currently occurring.

Later steps will enhance the protocol to network individual daemons, advertize 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 by default it runs on top of the sidechain Elements Alpha. It can be tested with bitcoin (on testnet) with OP_NOP substitution, at the top level Makefile.

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

Welcome aboard!

Rusty.