You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-11Lines changed: 26 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,23 +6,27 @@ Faraday is a suite of tools built to help node operators and businesses run [lnd
6
6
## LND
7
7
Note that Faraday requires lnd to be built with **all of its subservers** and requires running at least v0.11.1. Download the [official release binary](https://github.com/lightningnetwork/lnd/releases/tag/v0.11.1-beta) or see the [instructions](https://github.com/lightningnetwork/lnd/blob/master/docs/INSTALL.md) in the lnd repo for more detailed installation instructions. If you choose to build lnd from source, following command to enable all the relevant subservers:
8
8
9
-
```
9
+
```shell
10
10
make install tags="signrpc walletrpc chainrpc invoicesrpc"
11
11
```
12
12
13
13
14
14
## Installation
15
15
A [Makefile](https://github.com/lightninglabs/faraday/blob/master/Makefile) is provided. To install faraday and all its dependencies, run:
Faraday connects to a single instance of lnd. It requires access to `lnd`'s `admin.macaroon` and a valid TLS certificate. It will attempt to use the default `lnd` values if no command line flags are specified.
25
-
```
24
+
Faraday connects to a single instance of lnd. It requires access to `lnd`'s
25
+
`admin.macaroon` (or a custom scoped macaroon, see below) and a valid TLS
26
+
certificate. It will attempt to use the default `lnd` values if no command line
27
+
flags are specified.
28
+
29
+
```shell
26
30
./faraday \
27
31
--lnd.macaroonpath={full path to lnd's admin.macaroon} \
28
32
--lnd.tlscertpath={path to lnd cert} \
@@ -32,6 +36,17 @@ Faraday connects to a single instance of lnd. It requires access to `lnd`'s `adm
32
36
By default, faraday runs on mainnet. The `--network` flag can be used to run in
33
37
test environments.
34
38
39
+
### Baking a custom macaroon for Faraday
40
+
41
+
Faraday needs to derive a shared key with `lnd` to create an encryption password
42
+
for its macaroon database. That's why on top of the permissions in the
43
+
`readonly.macaroon` the `uri:/signrpc.Signer/DeriveSharedKey` is also required.
44
+
A custom scoped macaroon just for Faraday can be baked with:
The gRPC and REST connections of `faraday` are encrypted with TLS and secured
@@ -56,15 +71,15 @@ cannot be used for both `faraday` and `lnd`.
56
71
Faraday offers node accounting services which require access to a Bitcoin node with `--txindex` set so that it can perform transaction lookup. Currently the `CloseReport` endpoint requires this connection, and will fail if it is not present. It is *strongly recommended* to provide this connection when utilizing the `NodeAudit` endpoint, but it is not required. This connection is *optional*, and all other endpoints will function if it is not configured.
57
72
58
73
To connect Faraday to bitcoind:
59
-
```
74
+
```text
60
75
--connect_bitcoin \
61
76
--bitcoin.host={host:port of bitcoind} \
62
77
--bitcoin.user={bitcoind username} \
63
78
--bitcoin.password={bitcoind password}
64
79
```
65
80
66
81
To connect Faraday to btcd:
67
-
```
82
+
```text
68
83
--connect_bitcoin \
69
84
--bitcoin.host={host:port of btcd} \
70
85
--bitcoin.user={btcd username} \
@@ -75,14 +90,14 @@ To connect Faraday to btcd:
75
90
76
91
#### RPCServer
77
92
Faraday serves requests over grpc by default on `localhost:8465`. This default can be overwritten:
78
-
```
93
+
```text
79
94
--rpclisten={host:port to listen for requests}
80
95
```
81
96
82
97
#### Cli Tool
83
98
The RPC server can be conveniently accessed using a command line tool.
84
99
1. Run faraday as detailed above
85
-
```
100
+
```shell
86
101
./frcli {command}
87
102
```
88
103
@@ -108,15 +123,15 @@ If you would like to contribute to Faraday, please see our [issues page](https:/
108
123
109
124
### Tests
110
125
To run all the unit tests in the repo:
111
-
```
126
+
```shell
112
127
make check
113
128
```
114
129
To run Faraday's itests locally, you will need docker installed. To run all itests:
0 commit comments