An implementation of rgb on core lightning This fork of cln is maintained by Vincenzo Palazzo
Go to file
Rusty Russell 017d199305 funding: record changes so we can abide by BOLT#2
BOLT#2 says we MUST NOT send out commit messages with no changes (and
we drop the connection if the peer does).  But that's harder than it
sounds: we can have changes in theory which cancel out (eg. fee
adjustments, not yet implemented) or others which don't change the
commit tx (eg. dust outputs).  Simplest is to have a generation count,
which also allows us to simply show number of pending changes in RPC.

It's 32 bit, but you can only use it to screw yourself really (each
side can only add 1500 htlcs, so the rest would have to be fee
changes; wrapping will only make us hang up on you).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-03-31 17:12:20 +10:30
bitcoin protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10:30
ccan ccan: update and add more. 2016-01-22 06:41:45 +10:30
daemon packets: remember callbacks for acks on queued packets. 2016-03-30 16:57:41 +10: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
test-cli test: don't reply on specific bitcoin.conf settings. 2016-03-15 17:08:42 +10:30
.gitignore doc: add install notes 2016-02-24 23:59:33 -05:00
.gitmodules daemon/jsmn: Add submodule for jsmn. 2016-01-22 06:37:13 +10:30
HACKING.md Correct the formatting of HACKING.md; add top-level files reference. 2016-01-22 09:09:33 +10: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
Makefile daemon: Implement encryption as per BOLT #1. 2016-03-16 16:06:17 +10:30
README.md README.md: Update with reference to BOLT RFCs. 2016-03-15 17:08:38 +10:30
TODO.md TODO.md: new file with random thoughts for people to hack on. 2016-03-16 16:07:12 +10:30
close_tx.c close_tx: don't use protobufs. 2016-01-22 06:41:47 +10:30
close_tx.h daemon: simple close support for the case of one side closing transaction. 2016-01-22 06:45:27 +10:30
commit_tx.c funding: remove protobufs. 2016-01-22 06:41:47 +10:30
commit_tx.h peer: keep current commit txs, anchor state, channel funding and their sig. 2016-01-22 06:44:27 +10:30
find_p2sh_out.c daemon: implement unilateral commit. 2016-01-22 06:45:28 +10:30
find_p2sh_out.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
funding.c funding: record changes so we can abide by BOLT#2 2016-03-31 17:12:20 +10:30
funding.h funding: record changes so we can abide by BOLT#2 2016-03-31 17:12:20 +10:30
lightning.pb-c.c daemon: use fee rates rather than absolute fees (BOLT #2) 2016-03-24 12:12:43 +10:30
lightning.pb-c.h protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10:30
lightning.proto protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10: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 source cleanup: sort include lines into alpha order 2016-01-22 06:38:08 +10:30
permute_tx.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
protobuf_convert.c protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10:30
protobuf_convert.h bitcoin: hand in a secp256k1_context to all routines. 2016-01-22 06:41:47 +10:30
state.c state: queue packets directly. 2016-03-30 16:57:18 +10:30
state.h state: queue packets directly. 2016-03-30 16:57:18 +10:30
state_types.h state: INPUT_CONNECTION_LOST 2016-03-24 12:09:44 +10: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 [https://github.com/rustyrussell/lightning](on my fork of the protocol description repository).

So far, we are working on the [https://github.com/rustyrussell/lightning/blob/master/communications/low/01-encryption.md](inter-node encryption) and [https://github.com/rustyrussell/lightning/blob/master/communications/low/02-wire-protocol.md](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, but can be tested with bitcoin (on testnet) with OP_NOP substitution.

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

Welcome aboard!

Rusty.