Guida all’installazione di ThunderHub

Come installare e configurare ThunderHub, l’interfaccia grafica per gestire un nodo Lightning Network

Umberto Tarantino
BEN Italia

--

Avete tirato su un nodo Lightning Network con LND e siete poco avvezzi alla linea di comando? Avete anche provato l’interfaccia grafica degli stessi sviluppatori di LND (Lightning Terminal) e non l’avete trovata di vostro gradimento? ThunderHub potrebbe essere la soluzione che cercavate.

Installazione

Occorrono pochi passi e poco tempo per installare Thunderhub. Ecco i comandi da lanciare:

Configurazione

Create un nuovo file con nano thub-config.yaml e aggiungete i dati per l’account che si connetterà alla vostra istanza di LND.
Il file in questo caso verrà creato nella cartella di ThunderHub, ma potete salvarlo dove preferite.

Di seguito lo schema da seguire per la creazione di un account:

masterPassword: “password”
accounts:
— name: “Account 1”
serverUrl: “url:port”
lndDir: "path/to/lnd"
password: “password for account 1”

Il primo valore da impostare è quello della “masterPassword”, che corrisponde alla password di default nel caso non ne venga impostata una per negli account.
Successivamente c’è la lista degli account (“accounts”) che si vogliono creare in ThunderHub (nello schema sopra la lista è formata da un solo account).
Date un nome con cui identificare l’account valorizzando la proprietà “name”. In “serverUrl” solitamente va indicato localhost:10009 (10009 è la porta di default di LND per le connessioni gRPC).
In “lndDir” va inserito il percorso in cui risiede LND, nel quale ThunderHub cercerà il file del certificato (“tls.cert”) e il file macaroon (“admin.macaroon”), necessari all’autenticazione sul nodo LND.
Infine, impostate una password per l’account; se non lo fate verrà richiesto per l’accesso la master password.
Al primo avvio di ThunderHub tutte le password scritte in questo file, masterPassword e la password di ogni account, verranno sovrascritte con un hash per evitare di avere password in chiaro all’interno del file.

A questo punto bisogna creare un file contenente le definizioni delle variabili di ambiente. Incluso nell’installazione di ThunderHub c’è un template (file “.env”), utile per la creazione del suddetto file.
A tale scopo fate una copia del template con cp .env .env.local e poi apritelo per modificarlo con nano .env.local.

Assicuratevi che il file contenga una riga (non commentata) che punti al file di configurazione precedentemente creato:

ACCOUNT_CONFIG_PATH=’thub-config.yaml’

Attenzione ad indicare il percorso corretto in cui avevate salvato il file “thub-config.yaml”. Nell’esempio sopra il file risiede nella cartella di ThunderHub.

Accesso da remoto

Se avete installato ThunderHub su una macchina diversa da quella su cui gira il nodo e volete accedere da remoto, occorrono un paio di passi in più:

Nel file di configurazione di LND (lnd.conf) aggiungete le seguenti righe:

tlsextraip=<externally-reachable-ip-address>
rpclisten=0.0.0.0:10009

Al posto di “externally-reachable-ip-address” dovete indicare l’indirizzo della macchina su cui avete installato ThunderHub. Salvate il file e riavviate LND.

Nel file di configurazione di ThunderHub (thub-config.yaml) rimuovere la proprietà “lndDir” e inserire le seguenti righe:

macaroonPath: “/path/to/admin.macaroon”
certificatePath: “/path/to/tls.cert”

In “macaroonPath” e “certificatePath” vanno indicati rispettivamente i percorsi in cui avete copiato i file tls.cert e admin.macaroon, che vanno presi dall’installazione di LND (di default si trovano in /lnd/tls.cert e /lnd/data/chain/bitcoin/mainnet/admin.macaroon, assumendo che LND si trovi nel percorso /lnd).

Se si accede al nodo tramite SSH un modo per copiare tali file potrebbe essere l’impiego del comando scp:

scp -r -P<port> <user>@<ip-address>:<path-to-file-to-be-copied> <path-to-folder-on-your-computer>

Quindi, i comandi potrebbero essere simili ai seguenti:

scp -r -P2222 mynode@192.168.1.10:/home/mynode/.lnd/tls.cert /home/myuser/thunderhub/files

scp -r -P2222 mynode@192.168.1.10:/home/mynode/.lnd/data/chain/bitcoin/mainnet/admin.macaroon /home/myuser/thunderhub/files

Avvio

Tutto è pronto. Andate nella cartella di ThunderHub e lanciate npm start.
Se non ci sono errori l’interfaccia sarà raggiungibile dal browser all’indirizzo localhost:3000.

Per approfondimenti qui trovate la documentazione ufficiale di ThunderHub.

Come aprire un canale

Per l’apertura di un canale in pratica dovete replicare i passaggi che fareste da linea di comando tramite LND (spiegati qui). Con ThunderHub vi risulterà più facile e user-friendly. D’altronde, lo abbiamo installato per questo motivo!

Andate su “Peers” nel menu laterale a sinistra e aggiungete il nodo con cui aprire il canale. Nel campo “Url” va inserito l’indirizzo completo del nodo, formato dalla chiave pubblica e l’host, separati dalla chiocciola. L’url può anche essere un indirizzo Tor, in tal caso l’host sarà un indirizzo .onion.
In questa schermata preoccupatevi di inserire solo l’url, poi premete su “Add”.

Una volta aggiunto il nodo nella lista dei peers del proprio nodo andate su “Channels”. Nella finestra che si apre, in alto a destra, premete sull’icona della rotellina, quella più in alto. Poi premete sul pulsante “Open” che compare accanto alla voce “Open Channel”.

Premete sul nuovo pulsante “Open”, che compare accanto alla voce “Manual” e inserite i dati richiesti per l’apertura del canale.

Dal menu a tendina selezionate il nodo precedentemente salvato nei peers. Impostate la capacità del canale, ovvero il numero di sats (l’importo in bitcoin) che volete impiegare nel canale. Indicate l’ammontare delle fee che siete disposti a pagare, facendo riferimento alle fee richieste in quel momento dalla rete (potete farvi un’idea, ad esempio, su mempool.space), oppure lasciare che se ne occupi automaticamente Thunderhub, selezionando “Auto”. Premete su “Open Channel” e il canale nel giro di qualche minuto (o ore, a seconda della fee impostata) verrà aperto.

--

--