ln-docker-daemons 3.1.6 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Versions
2
2
 
3
+ ## 4.0.0
4
+
5
+ - `spawnLightningCluster`: Return `tower` for the watchtower server socket
6
+ - `spawnLightningDocker`: Add `tower_port` to specify watchtower server port
7
+ - `spawnLightningDocker`: Return `tower_socket` for the watchtower socket
8
+
9
+ ### Breaking Changes
10
+
11
+ - `spawnLightningDocker`: `tower_port` is now a required argument
12
+
3
13
  ## 3.1.6
4
14
 
5
15
  - Change default LND version to v0.15.5-beta
package/README.md CHANGED
@@ -139,6 +139,7 @@ Spawn a cluster of nodes
139
139
  lnd: <Authenticated LND API Object>
140
140
  rpc: <RPC Connection Function> ({macaroon}) => {}
141
141
  socket: <Node Socket String>
142
+ tower: <LND Tower Socket Host:Port Network Address String>
142
143
  }]
143
144
  }
144
145
 
@@ -173,6 +174,7 @@ Spawn an LND Docker
173
174
  generate_address: <Generate Blocks to Address String>
174
175
  lightning_p2p_port: <Lightning Network P2P Listen Port Number>
175
176
  lightning_rpc_port: <Lightning Node RPC Port Number>
177
+ lightning_tower_port: <Lightning Tower Port Number>
176
178
  [lnd_configuration]: [<LND Configuration Argument String>]
177
179
  [seed]: <Mnemonic Seed String>
178
180
  }
@@ -187,4 +189,5 @@ Spawn an LND Docker
187
189
  macaroon: <LND Base64 Serialized Macaroon String>
188
190
  public_key: <Identity Public Key Hex String>
189
191
  socket: <LND RPC Host:Port Network Address String>
192
+ tower_socket: <LND Tower Socket Host:Port Network Address String>
190
193
  }
@@ -20,7 +20,7 @@ const interval = 10;
20
20
  const makeAddress = ({lnd}) => createChainAddress({lnd});
21
21
  const maturity = 100;
22
22
  const pairs = n => n.map((x, i) => n.slice(i + 1).map(y => [x, y])).flat();
23
- const portsPerLnd = 6;
23
+ const portsPerLnd = 7;
24
24
  const startPort = 1025;
25
25
  const times = 3000;
26
26
 
@@ -40,6 +40,7 @@ const times = 3000;
40
40
  lnd: <Authenticated LND API Object>
41
41
  rpc: <RPC Connection Function> ({macaroon}) => {}
42
42
  socket: <Node Socket String>
43
+ tower: <LND Tower Socket Host:Port Network Address String>
43
44
  }]
44
45
  }
45
46
  */
@@ -67,6 +68,7 @@ module.exports = (args, cbk) => {
67
68
  chainZmqTxPort,
68
69
  lightningP2pPort,
69
70
  lightningRpcPort,
71
+ lightningTowerPort,
70
72
  ] = ports;
71
73
 
72
74
  const lightningDocker = await spawnLightningDocker({
@@ -77,6 +79,7 @@ module.exports = (args, cbk) => {
77
79
  generate_address: generateAddress,
78
80
  lightning_p2p_port: lightningP2pPort,
79
81
  lightning_rpc_port: lightningRpcPort,
82
+ lightning_tower_port: lightningTowerPort,
80
83
  lnd_configuration: args.lnd_configuration,
81
84
  });
82
85
 
@@ -133,6 +136,7 @@ module.exports = (args, cbk) => {
133
136
  return {lnd};
134
137
  },
135
138
  socket: lightningDocker.ln_socket,
139
+ tower: lightningDocker.tower_socket,
136
140
  };
137
141
  });
138
142
  });
@@ -158,6 +162,7 @@ module.exports = (args, cbk) => {
158
162
  lnd: node.lnd,
159
163
  rpc: node.rpc,
160
164
  socket: node.socket,
165
+ tower: node.tower,
161
166
  })),
162
167
  };
163
168
  }],
@@ -18,6 +18,7 @@ const spawnLndDocker = require('./spawn_lnd_docker');
18
18
  generate_address: <Generate Blocks to Address String>
19
19
  lightning_p2p_port: <Lightning Network P2P Listen Port Number>
20
20
  lightning_rpc_port: <Lightning Node RPC Port Number>
21
+ lightning_tower_port: <Lightning Tower Port Number>
21
22
  [lnd_configuration]: [<LND Configuration Argument String>]
22
23
  [seed]: <Mnemonic Seed String>
23
24
  }
@@ -34,6 +35,7 @@ const spawnLndDocker = require('./spawn_lnd_docker');
34
35
  macaroon: <LND Base64 Serialized Macaroon String>
35
36
  public_key: <Identity Public Key Hex String>
36
37
  socket: <LND RPC Host:Port Network Address String>
38
+ tower_socket: <LND Tower Socket Host:Port Network Address String>
37
39
  }
38
40
  */
39
41
  module.exports = (args, cbk) => {
@@ -69,6 +71,10 @@ module.exports = (args, cbk) => {
69
71
  return cbk([400, 'ExpectedLnRpcPortToSpawnLightningDocker']);
70
72
  }
71
73
 
74
+ if (!args.lightning_tower_port) {
75
+ return cbk([400, 'ExpectedLnTowerPortToSpawnLightningDocker']);
76
+ }
77
+
72
78
  return cbk();
73
79
  },
74
80
 
@@ -110,6 +116,7 @@ module.exports = (args, cbk) => {
110
116
  bitcoind_zmq_tx_port: args.chain_zmq_tx_port,
111
117
  p2p_port: args.lightning_p2p_port,
112
118
  rpc_port: args.lightning_rpc_port,
119
+ tower_port: args.lightning_tower_port,
113
120
  seed: args.seed,
114
121
  },
115
122
  cbk);
@@ -150,6 +157,7 @@ module.exports = (args, cbk) => {
150
157
  ln_socket: `${spawnLightningDaemon.host}:9735`,
151
158
  public_key: spawnLightningDaemon.public_key,
152
159
  socket: spawnLightningDaemon.socket,
160
+ tower_socket: spawnLightningDaemon.tower_socket,
153
161
  });
154
162
  }],
155
163
  },
@@ -26,6 +26,7 @@ const tlsCertPath = '/root/.lnd/tls.cert';
26
26
  [configuration]: [<LND Configuration Argument String>]
27
27
  p2p_port: <LND Peer to Peer Listen Port Number>
28
28
  rpc_port: <LND RPC Port Number>
29
+ tower_port: <LND Tower Port Number>
29
30
  [seed]: <Mnemonic Seed String>
30
31
  }
31
32
 
@@ -36,6 +37,7 @@ const tlsCertPath = '/root/.lnd/tls.cert';
36
37
  macaroon: <LND Base64 Serialized Macaroon String>
37
38
  public_key: <LND Public Key Hex String>
38
39
  socket: <LND RPC Host:Port Network Address String>
40
+ tower_socket: <LND Tower Socket Host:Port Network Address String>
39
41
  }
40
42
  */
41
43
  module.exports = (args, cbk) => {
@@ -71,6 +73,10 @@ module.exports = (args, cbk) => {
71
73
  return cbk([400, 'ExpectedRpcPortToSpawnLndDocker']);
72
74
  }
73
75
 
76
+ if (!args.tower_port) {
77
+ return cbk([400, 'ExpectedTowerPortToSpawnLndDocker']);
78
+ }
79
+
74
80
  return cbk();
75
81
  },
76
82
 
@@ -102,6 +108,8 @@ module.exports = (args, cbk) => {
102
108
  `--rpclisten=0.0.0.0:10009`,
103
109
  '--trickledelay=1',
104
110
  '--unsafe-disconnect',
111
+ '--watchtower.externalip', `127.0.0.1:9911`,
112
+ '--watchtower.listen', `127.0.0.1:9911`,
105
113
  ];
106
114
 
107
115
  return spawnDockerImage({
@@ -109,6 +117,7 @@ module.exports = (args, cbk) => {
109
117
  image: imageName(process.env.DOCKER_LND_VERSION),
110
118
  ports: {
111
119
  '9735/tcp': args.p2p_port,
120
+ '9911/tcp': args.tower_port,
112
121
  '10009/tcp': args.rpc_port,
113
122
  },
114
123
  },
@@ -188,6 +197,7 @@ module.exports = (args, cbk) => {
188
197
  macaroon: createWallet.toString('hex'),
189
198
  public_key: waitForRpc.public_key,
190
199
  socket: `localhost:${args.rpc_port}`,
200
+ tower_socket: `localhost:${args.tower_port}`,
191
201
  });
192
202
  }],
193
203
  },
package/package.json CHANGED
@@ -35,5 +35,5 @@
35
35
  "scripts": {
36
36
  "test": "tap --branches=1 --functions=1 --lines=1 --statements=1 -j 1 test/bitcoind/*.js test/lnd/*.js"
37
37
  },
38
- "version": "3.1.6"
38
+ "version": "4.0.0"
39
39
  }
@@ -11,7 +11,8 @@ test('Spawn Lightning node image', async ({end}) => {
11
11
  chain_zmq_tx_port: 18461,
12
12
  generate_address: '2N8hwP1WmJrFF5QWABn38y63uYLhnJYJYTF',
13
13
  lightning_p2p_port: 18462,
14
- lightning_rpc_port: 1863,
14
+ lightning_rpc_port: 18463,
15
+ lightning_tower_port: 18464,
15
16
  });
16
17
 
17
18
  await kill({});