An implementation of rgb on core lightning This fork of cln is maintained by Vincenzo Palazzo
Go to file
Rusty Russell 5bd8063ddb type_to_string: make type printing dynamic.
The union still contains all the types, but we can only print
the ones which are linked in.

This makes it much easier to use type_to_string in different binaries
without pulling in the world.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:06:15 +10:30
bitcoin bitcoin: Add comparison between pubkeys 2017-01-03 15:08:05 +10:30
ccan ccan: update, new modules. 2017-01-04 13:16:47 +10:30
contrib contrib/lightning-pay: helper to make a payment. 2016-10-19 12:02:27 +10:30
daemon type_to_string: move pretty printing of types from log 2017-01-04 14:05:15 +10:30
doc doc: manpages for the various lightning RPC calls. 2016-09-06 16:47:41 +09:30
secp256k1 libsecp256k1: update. 2016-07-01 12:00:17 +09:30
test daemon/json, test/test_protocol: avoid gcc -O warnings. 2016-12-15 11:49:51 +10:30
wire gossip: Update to new spec version 2017-01-03 15:08:05 +10:30
.gitignore check-bolt: check that comments in code match the specs. 2016-05-03 11:27:56 +09:30
.gitlab-ci.yml Add .gitlab-ci.yml 2016-12-11 13:24:27 +01:00
.gitmodules daemon/jsmn: Add submodule for jsmn. 2016-01-22 06:37:13 +10:30
HACKING.md controlled_time: remove 2016-11-09 18:54:15 +10:30
INSTALL.md Merge remote-tracking branch 'origin/pr/42' 2016-10-17 12:15:36 +10:30
LICENSE licensing: Make license explicit. 2016-01-22 06:41:46 +10:30
Makefile type_to_string: move pretty printing of types from log 2017-01-04 14:05:15 +10:30
README.md README.md: add "upgrade" instructions and add port config for public nodes. 2016-11-21 10:21:41 +10:30
TODO.md TODO: remove to-dones. 2016-09-06 16:47:48 +09:30
check-bolt.c Remove trailing whitespace from source. 2016-11-11 09:32:04 +10:30
close_tx.c Use global secp256k1_ctx instead of passing it around. 2016-12-02 18:12:58 +10:30
close_tx.h Use global secp256k1_ctx instead of passing it around. 2016-12-02 18:12:58 +10: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
irc.c Merge remote-tracking branch 'origin/pr/44' 2016-10-17 12:31:19 +10:30
irc.h Merge remote-tracking branch 'origin/pr/44' 2016-10-17 12:31:19 +10:30
lightning.pb-c.c proto: Added nested_pkt 2017-01-03 15:08:05 +10:30
lightning.pb-c.h proto: Added nested_pkt 2017-01-03 15:08:05 +10:30
lightning.proto proto: Added nested_pkt 2017-01-03 15:08:05 +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 daemon: routing infrastructure. 2016-07-01 12:00:17 +09:30
permute_tx.c permute_tx: don't save permutation map. 2016-08-18 14:23:46 +09:30
permute_tx.h permute_tx: don't save permutation map. 2016-08-18 14:23:46 +09:30
protobuf_convert.c Use global secp256k1_ctx instead of passing it around. 2016-12-02 18:12:58 +10:30
protobuf_convert.h Use global secp256k1_ctx instead of passing it around. 2016-12-02 18:12:58 +10:30
remove_dust.h channel: remove htlcs array. 2016-08-18 14:23:46 +09:30
type_to_string.c type_to_string: make type printing dynamic. 2017-01-04 14:06:15 +10:30
type_to_string.h type_to_string: make type printing dynamic. 2017-01-04 14:06:15 +10:30
utils.c utils: add a global secp, fix wire to use it. 2016-12-02 18:11:06 +10:30
utils.h utils: add a global secp, fix wire to use it. 2016-12-02 18:11:06 +10:30
version.c getinfo: add version information 2016-09-14 05:28:51 +09:30
version.h options: --help and --version are early args. 2017-01-04 14:04:15 +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.

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

Steps:

  1. If you're running a previous version, you'll need to shut it down (maybe close channels first) and delete the $HOME/.lightning directory.
  2. Install and compile the requirements.
  3. Make sure bitcoind is running in testnet mode, and has the latest blocks.
  4. Get some test bitcoins, such as from TPs' testnet faucet.
  5. If you want others to connect to your lightningd, create $HOME/.lightning/config and put port=8334 in it (or any other port).
  6. Run daemon/lightningd.
  7. Run daemon/lightning-cli getinfo to check it's working.
  8. Find a node using daemon/lightning-cli getnodes (this will populate over time).
  9. 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.
  10. You can create more channels if you wish.
  11. You can accept payment using daemon/lightning-cli invoice MILLISATOSHI LABEL; it will give you a payment hash to give to the payer.
  12. 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.