README: update with latest information

This commit is contained in:
Olaoluwa Osuntokun 2017-08-22 21:00:42 -07:00
parent ff997eab3e
commit 1ff389b449
No known key found for this signature in database
GPG key ID: 9CC5B105D03521A2

View file

@ -6,50 +6,62 @@
[![Godoc](https://godoc.org/github.com/lightningnetwork/lnd?status.svg)](https://godoc.org/github.com/lightningnetwork/lnd) [![Godoc](https://godoc.org/github.com/lightningnetwork/lnd?status.svg)](https://godoc.org/github.com/lightningnetwork/lnd)
[![Coverage Status](https://coveralls.io/repos/github/lightningnetwork/lnd/badge.svg?branch=master)](https://coveralls.io/github/lightningnetwork/lnd?branch=master) [![Coverage Status](https://coveralls.io/repos/github/lightningnetwork/lnd/badge.svg?branch=master)](https://coveralls.io/github/lightningnetwork/lnd?branch=master)
The Lightning Network Daemon (`lnd`) - is a complete implementation of a The Lightning Network Daemon (`lnd`) - is a complete implementation of a
[Lightning Network](https://lightning.network) node and currently [Lightning Network](https://lightning.network) node and currently deployed on
deployed on `testnet4` - the Bitcoin Test Network. It utilizes an `testnet3` - the Bitcoin Test Network. `lnd` has several pluggable back-end
upcoming upgrade to Bitcoin: Segregated Witness (`segwit`). The chain services including [`btcd`](https://github.com/btcsuite/btcd) (a
project's codebase uses the [btcsuite](https://github.com/btcsuite/) set full-node) and [`neutrino`](https://github.com/lightninglabs/neutrino) (a new
of Bitcoin libraries, and is currently dependant on [btcd](https://github.com/btcsuite/btcd). experimental light client). The project's codebase uses the
In the current state `lnd` is capable of: [btcsuite](https://github.com/btcsuite/) set of Bitcoin libraries, and also
* creating channels exports a large set of isolated re-usable Lightning Network related libraries
* closing channels within it. In the current state `lnd` is capable of:
* completely managing all channel states (including the exceptional ones!) * Creating channels.
* maintaining a fully authenticated+validated channel graph * Closing channels.
* performing path finding within the network, passively forwarding * Completely managing all channel states (including the exceptional ones!).
incoming payments * Maintaining a fully authenticated+validated channel graph.
* sending outgoing [onion-encrypted payments](https://github.com/lightningnetwork/lightning-onion) * Performing path finding within the network, passively forwarding incoming payments.
through the network * Sending outgoing [onion-encrypted payments](https://github.com/lightningnetwork/lightning-onion)
through the network.
* Updating advertised fee schedules.
* Automatic channel management ([`autopilot`](https://github.com/lightningnetwork/lnd/tree/master/autopilot)).
## Lightning Network Specification Compliance ## Lightning Network Specification Compliance
`lnd` doesn't yet _fully_ conform to the [Lightning Network specification `lnd` doesn't yet _fully_ conform to the [Lightning Network specification
(BOLTs)](https://github.com/lightningnetwork/lightning-rfc). BOLT stands (BOLTs)](https://github.com/lightningnetwork/lightning-rfc). BOLT stands for:
for: Basic of Lightning Technologies. The specifications are currently being drafted Basic of Lightning Technologies. The specifications are currently being drafted
by several groups of implementers based around the world including the by several groups of implementers based around the world including the
developers of `lnd`. The set of specification documents as well as our developers of `lnd`. The set of specification documents as well as our
implementation of the specification are still a work-in-progress. With that implementation of the specification are still a work-in-progress. With that
said, `lnd` the current status of `lnd`'s BOLT compliance is: said, `lnd` the current status of `lnd`'s BOLT compliance is:
- [ ] BOLT 1: Base Protocol - [X] BOLT 1: Base Protocol
* `lnd` currently utilizes a distinct wire format which was created
before the emgergence of the current draft of BOLT specifications.
We don't have an `init` message, but we do have analogues to all
the other defined message types.
- [ ] BOLT 2: Peer Protocol for Channel Management - [ ] BOLT 2: Peer Protocol for Channel Management
* `lnd` implements all the functionality defined within the * `lnd` has not yet integrated full channel re-transmission upon
document, however we currently use a different set of wire messages. reconnection
Additionally,`lnd` uses a distinct commitment update state-machine - [X] BOLT 3: Bitcoin Transaction and Script Formats
and doesn't yet support dynamically updating commitment fees.
- [ ] BOLT 3: Bitcoin Transaction and Script Formats
* `lnd` currently uses a commitment design from a prior iteration
of the protocol. Revocation secret generation is handled by `elkrem`
and our scripts are slightly different.
- [X] BOLT 4: Onion Routing Protocol - [X] BOLT 4: Onion Routing Protocol
- [X] BOLT 5: Recommendations for On-chain Transaction Handling - [X] BOLT 5: Recommendations for On-chain Transaction Handling
- [X] BOLT 7: P2P Node and Channel Discovery - [X] BOLT 7: P2P Node and Channel Discovery
- [X] BOLT 8: Encrypted and Authenticated Transport - [X] BOLT 8: Encrypted and Authenticated Transport
## Developer Resources
The daemon has been designed to be as developer friendly as possible in order
to facilitate application development on top of `lnd`. To primary RPC
interfaces are exported: an HTTP REST API, and a [gRPC](https://grpc.io/)
service. The exported API's are not yet stable, so be warned: they may change
drastically in the near future.
An automatically generated set of documentation for the RPC API's can be found
at [api.lightning.community](api.lightning.community). A set of developer
resources including talks, articles, and example applications can be found at:
[dev.lightning.community](dev.lightning.community).
Finally, we also have an active
[Slack](https://join.slack.com/t/lightningcommunity/shared_invite/MjI4OTg3MzQ4MjI2LTE1MDMxNzM1NTMtNjlmOGYzOTI1Ng)
where protocol developers, application developers, testers and users gather to
discuss various aspects of `lnd` and also Lightning in general.
## Installation ## Installation
In order to build from source, please see [the installation In order to build from source, please see [the installation
instructions](docs/INSTALL.md). instructions](docs/INSTALL.md).