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 ec072b5d68 gen_pkt_names, gen_state_names: move into daemon/ 8 years ago
bitcoin script: free redeemscript in bitcoin_witness_p2sh_p2wpkh 8 years ago
ccan ccan: remove canned config.h 8 years ago
contrib contrib/lightning-pay: helper to make a payment. 8 years ago
daemon gen_pkt_names, gen_state_names: move into daemon/ 8 years ago
doc doc: manpages for the various lightning RPC calls. 8 years ago
secp256k1 libsecp256k1: update. 9 years ago
test tal_tmpctx: clear marker for temporary contexts. 8 years ago
.gitignore check-bolt: check that comments in code match the specs. 9 years ago
.gitmodules daemon/jsmn: Add submodule for jsmn. 9 years ago
HACKING.md Fill out TODO.md into a useful list (mainly by grepping for FIXMEs). 9 years ago
INSTALL.md Merge remote-tracking branch 'origin/pr/42' 8 years ago
LICENSE licensing: Make license explicit. 9 years ago
Makefile gen_pkt_names, gen_state_names: move into daemon/ 8 years ago
README.md README.md: User instructions. 8 years ago
TODO.md TODO: remove to-dones. 8 years ago
check-bolt.c check-bolt: make it compile cleanly with -Wextra. 8 years ago
close_tx.c permute_tx: don't save permutation map. 8 years ago
close_tx.h base58, script, protobuf_convert: don't use temporary secp256k1 context. 9 years ago
find_p2sh_out.c scripteq: simple helper for comparing scripts. 9 years ago
find_p2sh_out.h Remove unused script functions now we use witness. 9 years ago
irc.c Merge remote-tracking branch 'origin/pr/44' 8 years ago
irc.h Merge remote-tracking branch 'origin/pr/44' 8 years ago
lightning.pb-c.c pkt_init: check feature bits. 8 years ago
lightning.pb-c.h pkt_init: check feature bits. 8 years ago
lightning.proto pkt_init: check feature bits. 8 years ago
names.c gen_pkt_names, gen_state_names: move into daemon/ 8 years ago
names.h state_input: remove unused enum. 8 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 daemon: routing infrastructure. 9 years ago
permute_tx.c permute_tx: don't save permutation map. 8 years ago
permute_tx.h permute_tx: don't save permutation map. 8 years ago
protobuf_convert.c protobuf_convert: expose helpers for unwrapping protobufs into tal heirarchies 8 years ago
protobuf_convert.h protobuf_convert: expose helpers for unwrapping protobufs into tal heirarchies 8 years ago
remove_dust.h channel: remove htlcs array. 8 years ago
state.h state_types: simplify open states. 8 years ago
state_types.h state_types: simplify open states. 8 years ago
utils.c routing: Added IRC announcement glue 8 years ago
utils.h tal_tmpctx: clear marker for temporary contexts. 8 years ago
version.c getinfo: add version information 8 years ago
version.h getinfo: add version information 8 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").

This implementation is being developed in parallel with the protocol definition, which you can find on my fork of the protocol description repository.

If you're interested in using the daemon to test payments, the JSON-RPC interface is documented in the following manual pages:

Steps:

  1. Install and compile the requirements.
  2. Make sure bitcoind is running in testnet mode, and has the latest blocks.
  3. Get some test bitcoins, such as from TPs' testnet faucet.
  4. Run daemon/lightningd.
  5. Run daemon/lightning-cli getinfo to check it's working.
  6. Find a node using daemon/lightning-cli getnodes (this will populate over time).
  7. Create a new connection to the node using contrib/lightning-open-channel ADDRESS PORT AMOUNT where AMOUNT is in BTC (.04294967 is the maximum possible). If successful, this will return only once a block has been mined with the funding transaction in it.
  8. You can create more channels if you wish.
  9. You can accept payment using daemon/lightning-cli invoice MILLISATOSHI LABEL; it will give you a payment hash to give to the payer.
  10. You can send payments using contrib/lightning-pay DEST-ID MILLISATOSHI PAYMENT-HASH.

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

Welcome aboard!

Rusty.