github.com/decred/dcrlnd@v0.7.6/README.md (about)

     1  dcrlnd
     2  ======
     3  
     4  [![Build Status](https://github.com/decred/dcrlnd/workflows/Build%20and%20Test/badge.svg)](https://github.com/decred/dcrlnd/actions)
     5  [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](http://copyfree.org)
     6  [![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/decred/dcrlnd)
     7  
     8  ## Lightning Network Daemon
     9  
    10  <img src="logo.png">
    11  
    12  The Decred Lightning Network Daemon (`dcrlnd`) - is a complete implementation of
    13  a [Lightning Network](https://lightning.network) node and currently deployed on
    14  `testnet3` - the Decred Test Network.
    15  
    16  `dcrlnd` currently requires a [dcrd](https://github.com/decred/dcrd) backing
    17  full node to perform the required chain services. The project's codebase uses
    18  the existing set of [decred](https://github.com/decred/) libraries, and also
    19  exports a large set of isolated re-usable Lightning Network related libraries
    20  within it.  In the current state `dcrlnd` is capable of:
    21  * Creating channels.
    22  * Closing channels.
    23  * Completely managing all channel states (including the exceptional ones!).
    24  * Maintaining a fully authenticated+validated channel graph.
    25  * Performing path finding within the network, passively forwarding incoming payments.
    26  * Sending outgoing [onion-encrypted payments](https://github.com/decred/lightning-onion)
    27  through the network.
    28  * Updating advertised fee schedules.
    29  * Automatic channel management ([`autopilot`](https://github.com/decred/dcrlnd/tree/master/autopilot)).
    30  
    31  ## LND Porting Status
    32  
    33  `dcrlnd` is currently developed as a port of the original
    34  [lnd](https://github.com/lightningnetwork/lnd) lightning network daemon with the
    35  changes required to make it work on the Decred network and with Decred software.
    36  
    37  Some of the most important (though by no means exhaustive) diffrences between
    38  `lnd` and `dcrlnd` include:
    39  
    40  - Import Paths
    41  - Full node integration API
    42  - Transaction serialization layout
    43  - Transaction witness format and signature process
    44  - Wallet integration API
    45  
    46  ## Lightning Network Specification Compliance
    47  
    48  `dcrlnd` aims to conform to the [Lightning Network specification
    49  (BOLTs)](https://github.com/lightningnetwork/lightning-rfc). BOLT stands for:
    50  Basis of Lightning Technology. The specifications are currently being drafted
    51  by several groups of implementers based around the world including the
    52  developers of `dcrlnd`. The set of specification documents as well as our
    53  implementation of the specification are still a work-in-progress. With that
    54  said, the current status of `dcrlnd`'s BOLT compliance is:
    55  
    56    - [x] BOLT 1: Base Protocol
    57    - [x] BOLT 2: Peer Protocol for Channel Management
    58    - [x] BOLT 3: Bitcoin Transaction and Script Formats
    59    - [x] BOLT 4: Onion Routing Protocol
    60    - [x] BOLT 5: Recommendations for On-chain Transaction Handling
    61    - [x] BOLT 7: P2P Node and Channel Discovery
    62    - [x] BOLT 8: Encrypted and Authenticated Transport
    63    - [x] BOLT 9: Assigned Feature Flags
    64    - [x] BOLT 10: DNS Bootstrap and Assisted Node Location
    65    - [x] BOLT 11: Invoice Protocol for Lightning Payments
    66  
    67  ## Developer Resources
    68  
    69  The daemon has been designed to be as developer friendly as possible in order
    70  to facilitate application development on top of `dcrlnd`. Two primary RPC
    71  interfaces are exported: an HTTP REST API, and a [gRPC](https://grpc.io/)
    72  service. The exported API's are not yet stable, so be warned: they may change
    73  drastically in the near future.
    74  
    75  Most of the automatically generated documentation for the LND RPC APIs is
    76  applicable to `dcrlnd` and can be found at
    77  [api.lightning.community](https://api.lightning.community). The developer
    78  resources including talks, articles, and example applications are also relevant
    79  to `dcrlnd` and can be found at:
    80  [dev.lightning.community](https://dev.lightning.community).
    81  
    82  For questions and discussions, all Decred communities can be found at:
    83  
    84  https://decred.org/community
    85  
    86  ## Installation
    87  
    88  Knowledgeable users may use the [quickstart guide](/docs/QUICKSTART.md).
    89  
    90  For more detailed instructions, please see [the installation
    91  instructions](docs/INSTALL.md).
    92  
    93  The [operation modes](docs/operation_modes.md) document lists how `dcrlnd` may
    94  connect to the Decred network to run its operations.
    95  
    96  And a sample config file with annotated options is [also available
    97  here](sample-dcrlnd.conf).
    98  
    99  ## Quick Simnet Network
   100  
   101  A shell script that uses tmux to setup a 3-node simnet network (along with
   102  appropriate dcrd and dcrwallet nodes) is available in
   103  [contrib/dcrlnd-tmux-3node.sh](contrib/dcrlnd-tmux-3node.sh).
   104  
   105  Note that this requires having `dcrlnd` and `dcrlncli` in your `$PATH` variable,
   106  as well as compatible versions of `dcrd` and `dcrwallet`.
   107  
   108  
   109  ## Docker
   110    To run lnd from Docker, please see the main [Docker instructions](docs/DOCKER.md)
   111  
   112  ## Safety
   113  
   114  When operating a mainnet `dcrlnd` node, please refer to our [operational safety
   115  guidelines](docs/safety.md). It is important to note that `dcrlnd` is still
   116  **beta** software and that ignoring these operational guidelines can lead to
   117  loss of funds.
   118  
   119  ## Security
   120  
   121  Please see the [security policy](https://github.com/decred/dcrlnd/security/policy). 
   122  
   123  ## Further reading
   124  * [Step-by-step send payment guide with docker](https://github.com/decred/dcrlnd/tree/master/docker)
   125  * [Contribution guide](https://github.com/dcrlnd/lnd/blob/master/docs/code_contribution_guidelines.md)