An implementation of rgb on core lightning This fork of cln is maintained by Vincenzo Palazzo
Go to file
Rusty Russell f1af56fcee daemon: save acked changes, so we can process them when confirmed on both sides.
We need to know when changes are fully committed by both sides:
1) For their HTLC_ADDs, this is when we can fulfill/fail/route.
2) For their HTLC_FAILs, this is when we can fail incoming.

For HTLC_FULFULL we don't need to wait: as soon as we know the preimage
we can propogate it.

For the moment, we simply log and assert; acting on it comes later.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 11:59:15 +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: save acked changes, so we can process them when confirmed on both sides. 2016-07-01 11:59:15 +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 test: test commands during commit phase. 2016-05-26 15:25:25 +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
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: mention bitcoind needs segwit, Ubuntu 16.04 protobuf fixed. 2016-05-26 15:25:24 +09:30
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
Makefile TAGS: don't go into git dirs. 2016-07-01 11:59:15 +09:30
README.md test: detect segwit correctly, assume master branch. 2016-06-25 14:13:08 +09:30
TODO.md TODO: update to reflect progress 2016-05-06 14:07:44 +09: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 daemon: make funding directions local-centric. 2016-05-26 15:25:24 +09:30
commit_tx.h daemon: make funding directions local-centric. 2016-05-26 15:25:24 +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 funding: make funding_htlc_by_id() return pointer, not offset. 2016-07-01 11:59:15 +09:30
funding.h funding: make funding_htlc_by_id() return pointer, not offset. 2016-07-01 11:59:15 +09:30
lightning.pb-c.c daemon: struct rval to represent r values. 2016-07-01 11:59:15 +09:30
lightning.pb-c.h daemon: struct rval to represent r values. 2016-07-01 11:59:15 +09:30
lightning.proto daemon: struct rval to represent r values. 2016-07-01 11:59:15 +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 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 daemon: struct rval to represent r values. 2016-07-01 11:59:15 +09:30
protobuf_convert.h daemon: struct rval to represent r values. 2016-07-01 11:59:15 +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.c daemon: always terminate waiting manual update command on failure. 2016-07-01 11:59:15 +09:30
state.h daemon: struct rval to represent r values. 2016-07-01 11:59:15 +09:30
state_types.h daemon: allow commands during commit. 2016-05-26 15:25:25 +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

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.

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.