# Lightning Protocol Reference Implementation In this repository we're developing a reference implementation of bitcoin lightning (see: [http://lightning.network](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](https://github.com/rustyrussell/lightning). If you're interested in using the daemon to test payments, the JSON-RPC interface is documented in the following manual pages: * [invoice](doc/lightning-invoice.7.txt) * [listinvoice](doc/lightning-listinvoice.7.txt) * [waitinvoice](doc/lightning-waitinvoice.7.txt) * [delinvoice](doc/lightning-delinvoice.7.txt) * [getroute](doc/lightning-getroute.7.txt) * [sendpay](doc/lightning-sendpay.7.txt) Steps: 1. [Install and compile](INSTALL.md) 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](http://tpfaucet.appspot.com/). 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.