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 4e5ced4de2 daemon: don't crash on pkt_err 9 years ago
bitcoin bitcoin: hand in a secp256k1_context to all routines. 9 years ago
ccan ccan: update and add more. 9 years ago
daemon daemon: don't crash on pkt_err 9 years ago
doc Regenerate PDF. 9 years ago
secp256k1 secp256k1: add "ignored" files. 9 years ago
test state: include daemon/peer (only if !TEST_COVERAGE). 9 years ago
test-cli close_tx: don't use protobufs. 9 years ago
.gitignore Version number, name, and build details. 9 years ago
.gitmodules daemon/jsmn: Add submodule for jsmn. 9 years ago
LICENSE licensing: Make license explicit. 9 years ago
Makefile daemon: test scripts. 9 years ago
README.md README.md: A few more details about what we're doing. 9 years ago
close_tx.c close_tx: don't use protobufs. 9 years ago
close_tx.h daemon: simple close support for the case of one side closing transaction. 9 years ago
commit_tx.c funding: remove protobufs. 9 years ago
commit_tx.h peer: keep current commit txs, anchor state, channel funding and their sig. 9 years ago
find_p2sh_out.c source cleanup: sort include lines into alpha order 9 years ago
find_p2sh_out.h header cleanup: sort include lines into alpha order, after config.h 9 years ago
funding.c funding: adjust_fee() to allow fee alterations. 9 years ago
funding.h funding: adjust_fee() to allow fee alterations. 9 years ago
lightning.pb-c.c daemon: encrypted communication (version 3) 9 years ago
lightning.pb-c.h daemon: encrypted communication (version 3) 9 years ago
lightning.proto daemon: encrypted communication (version 3) 9 years ago
names.c names: generate names for command_status and state_peercond. 9 years ago
names.h names: generate names for command_status and state_peercond. 9 years ago
opt_bits.c opt_bits: parsing routines for 'bits' == 100 satoshi. 10 years ago
opt_bits.h header cleanup: sort include lines into alpha order, after config.h 9 years ago
overflows.h header cleanup: sort include lines into alpha order, after config.h 9 years ago
permute_tx.c source cleanup: sort include lines into alpha order 9 years ago
permute_tx.h header cleanup: sort include lines into alpha order, after config.h 9 years ago
protobuf_convert.c bitcoin: hand in a secp256k1_context to all routines. 9 years ago
protobuf_convert.h bitcoin: hand in a secp256k1_context to all routines. 9 years ago
state.c state: include daemon/peer (only if !TEST_COVERAGE). 9 years ago
state.h pkt_err: make it variadic. 9 years ago
state_types.h state: add async anchor creation. 9 years ago
version.c source cleanup: sort include lines into alpha order 9 years ago
version.h header cleanup: sort include lines into alpha order, after config.h 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.