2017-01-11 00:02:30 +01:00
|
|
|
lnwallet
|
|
|
|
=========
|
|
|
|
|
2017-03-28 01:25:25 +02:00
|
|
|
[![Build Status](http://img.shields.io/travis/lightningnetwork/lnd.svg)](https://travis-ci.org/lightningnetwork/lnd)
|
|
|
|
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/lightningnetwork/lnd/blob/master/LICENSE)
|
|
|
|
[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](http://godoc.org/github.com/lightningnetwork/lnd/lnwallet)
|
2017-01-11 00:02:30 +01:00
|
|
|
|
|
|
|
The lnwallet package implements an abstracted wallet controller that is able to
|
|
|
|
drive channel funding workflows, a number of script utilities, witness
|
|
|
|
generation functions for the various Lightning scripts, revocation key
|
|
|
|
derivation, and the commitment update state machine.
|
|
|
|
|
|
|
|
The package is used within `lnd` as the core wallet of the daemon. The wallet
|
2017-01-11 18:36:02 +01:00
|
|
|
itself is composed of several distinct interfaces that decouple the
|
2017-01-11 00:02:30 +01:00
|
|
|
implementation of things like signing and blockchain access. This separation
|
2018-04-18 04:03:27 +02:00
|
|
|
allows new `WalletController` implementations to be easily dropped into
|
2017-01-11 00:02:30 +01:00
|
|
|
`lnd` without disrupting the code base. A series of integration tests at the
|
|
|
|
interface level are also in place to ensure conformance of the implementation
|
|
|
|
with the interface.
|
|
|
|
|
|
|
|
|
|
|
|
## Installation and Updating
|
|
|
|
|
2021-01-17 14:59:23 +01:00
|
|
|
```shell
|
2022-10-28 18:06:35 +02:00
|
|
|
$ go get -u github.com/lightningnetwork/lnd/lnwallet
|
2017-01-11 00:02:30 +01:00
|
|
|
```
|