Alla base del tuo Full Node utilizzerai Armbian. Installerai la versione minimale, priva di ambiente grafico, perché richiede meno risorse, riduce la superficie di attacco e offre una maggiore stabilità per un server destinato a funzionare 24 ore su 24.


Preparazione del disco SSD

Per installare Armbian sul disco SSD esterno utilizzerai Armbian Imager, il programma ufficiale che scarica automaticamente l’immagine corretta per la tua scheda ARM e la scrive sul disco.

  • Inserisci il disco SSD nel tuo PC tramite l’adattatore USB → SATA;
  • Scarica e avvia Armbian Imager;

Avvio di Armbian Imager

  1. Clicca su “Inizia ora”;
  2. Seleziona il produttore della tua scheda (ad esempio Raspberry Pi, Orange Pi, Radxa, Banana Pi ecc.);
  3. Seleziona il modello della tua scheda (es. Raspberry Pi, Orange Pi 5 Plus ecc.);
  4. Seleziona il Sistema Operativo basato su Debian nella versione Minimal (es. 26.5.1);

💡 Nota: la versione di Armbian cambia spesso. Assicurati sempre di selezionare la distribuzione basata su Debian con il suffisso “Minimal”.

  1. Seleziona il disco SSD collegato in precedenza;
  2. Clicca su “Cancella e scrivi” per avviare il download, la formattazione del disco e la scrittura del sistema operativo;

Scrittura di Armbian sul disco SSD

Al termine dell’operazione, scollega l’SSD SATA dal PC, collegalo alla tua scheda ARM e alimentala. Attendi circa 5-10 minuti prima di procedere con il passaggio successivo.

Configurazione del sistema

Al termine dell’installazione è necessario individuare l’indirizzo IP assegnato dal server DHCP alla scheda ARM. Questo indirizzo ti permetterà di collegarti al dispositivo tramite la rete locale e configurarlo da remoto.

Scarica e installa Angry IP Scanner, un programma (open source) disponibile per Windows, macOS e Linux che permette di individuare rapidamente tutti i dispositivi collegati alla rete.

  1. Avvia Angry IP Scanner;
  2. Seleziona l’intervallo della tua rete locale (es. 192.168.0.1 - 192.168.0.254 oppure 192.168.1.1 - 192.168.1.254, in base alla configurazione della tua rete);
  3. Avvia la scansione;
  4. Cerca il dispositivo ARM nell’elenco dei risultati;

Il dispositivo potrebbe comparire con nomi come armbian, raspberrypi oppure come dispositivo sconosciuto.

Annota l’indirizzo IP associato (es. 192.168.0.119), perché verrà utilizzato per il collegamento tramite SSH.

Collegamento tramite Secure Shell (SSH)

Una volta trovato l’indirizzo IP del nodo è il momento di accedere attraverso Secure Shell (SSH):

  1. Windows:
  • Scarica PuTTY 64 bit x86 o 32 bit x86 a seconda dell’architettura del tuo sistema operativo.
  • Avvia PuTTY e seleziona (a sinistra) la categoria “Session”, successivamente nella casella “Host Name” digita root@192.168.0.201 (dove 192.168.0.201 è l’IP del dispositivo ARM annotato in precedenza), su “Port” lascia 22.
  • Clicca su “Open” e quando appare il banner “Avviso di sicurezza PuTTY”, premi il pulsante “Accept”, infine quando richiesto digita la password iniziale di default 1234
  1. macOS e Linux:
  • Apri il terminale ed esegui il comando: ssh root@192.168.0.201 (dove 192.168.0.201 è l’IP del dispositivo ARM annotato in precedenza) e quando richiesto digita la password iniziale di default 1234

Configurazione guidata

Al primo accesso, il sistema avvierà una procedura guidata obbligatoria, dovrai specificare:

  1. Password di root, ti chiederà immediatamente di creare una nuova password per l’utente amministratore (root). Inserisci la Password [A] annotata in precedenza.

  2. Creazione utente, ti chiederà di:

    • Scegliere un username (es. giuseppe).
    • Impostare una Password dedicata per questo utente, inserisci la Password [B] annotata in precedenza.
    • Inserire il tuo nome reale (NON FARLO, premi Enter per saltare).
  3. Localizzazione e Lingua, il sistema proporrà automaticamente il fuso orario (es. Europe/Rome). Ti verrà inoltre chiesto se vuoi impostare la lingua di sistema in base alla tua posizione (Set user language based on your location?). Rispondi Y (Yes) per abilitare la lingua italiana.

Configurazione iniziale di Armbian

ATTENZIONE: Per coerenza con gli screenshot e gli esempi presenti in questa serie di guide, verrà utilizzato l’utente giuseppe. Questo è semplicemente il nome dell’utente creato durante la configurazione iniziale e utilizzato per realizzare la guida. Nel tuo sistema il nome utente sarà diverso. Sostituisci quindi ogni riferimento a giuseppe con l’username scelto durante la configurazione iniziale.

Modifica dell’hostname

Per identificare più facilmente il nodo nella rete cambia il nome del dispositivo (hostname), digita con l’utente giuseppe:

sudo nano /etc/hostname

Cancella il nome presente e scrivi il nome che preferisci (es. bitcoin-nodo), salva il file con CTRL+O ed esci con CTRL+X, per evitare problemi nella risoluzione locale del nome host aggiorna anche il file hosts, quindi digita:

sudo nano /etc/hosts

Cerca la riga che riporta l’IP 127.0.1.1 seguito dal vecchio nome host, sostituiscilo con il nuovo nome (inserito in hostname) e salva il file.

Accesso tramite hostname (.local)

Per evitare di dover ricordare l’indirizzo IP del nodo (che potrebbe cambiare nel tempo), installa Avahi, questo servizio ti permetterà di collegarti al nodo utilizzando il suo nome host seguito da .local (es. giuseppe@bitcoin-nodo.local). Con l’utente giuseppe digita sul terminale:

sudo apt install avahi-daemon -y

Ad installazione terminata riavvia il sistema:

sudo reboot

Dopo il riavvio prova ad effettuare nuovamente il collegamento, inserendo il nome host seguito da .local e non più l’indirizzo IP.

Verifiche preliminari del sistema

Performance del disco

Per far funzionare un nodo Bitcoin in modo efficiente non basta avere spazio disponibile. È importante che la comunicazione tra la scheda ARM e l’SSD sia sufficientemente veloce, perché un disco lento può aumentare notevolmente i tempi di sincronizzazione iniziale e rallentare le operazioni del nodo.

Di norma il primo disco collegato viene identificato come /dev/sda, ma è sempre consigliabile verificarlo prima di eseguire qualsiasi comando.

Con l’utente giuseppe esegui:

lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS

Verifica del disco con lsblk

Misura la velocità di lettura sequenziale del disco, per farlo bisogna utilizzare hdparm, installalo col comando:

sudo apt install hdparm -y

Successivamente digita il seguente comando, cambiando sda con il nome del disco se diverso:

sudo hdparm -t --direct /dev/sda

Test delle prestazioni SSD con hdparm

Come interpretare i risultati:

  • Sotto i 50 MB/s: Prestazioni scarse. Probabilmente stai usando un adattatore USB 2.0. La sincronizzazione sarà estremamente lenta.
  • Tra 100 e 150 MB/s: Prestazioni accettabili. Il nodo funzionerà, ma la fase iniziale richiederà più tempo.
  • Sopra i 200 MB/s: Ottimo. Stai sfruttando correttamente il protocollo USB 3.0 e hai un buon SSD. Questa è la velocità ideale per un’esperienza fluida.

Disponibilità di IPv6

Verifica che la tua rete supporti IPv6, con l’utente giuseppe digita il seguente comando:

ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.

Se tutti i test hanno esito positivo e compare il messaggio finale:

"OK."

Non devi modificare nulla.

In caso contrario, se ricevi:

ping6: connect: Network is unreachable

Significa che il sistema non riesce a raggiungere la rete IPv6.

Se non utilizzi IPv6 nella tua rete oppure se la tua connessione presenta problemi di raggiungibilità IPv6, puoi forzare APT a utilizzare solamente IPv4.

Con l’utente giuseppe digita:

sudo nano /etc/apt/apt.conf.d/99-force-ipv4

Inserisci:

Acquire::ForceIPv4 "true";

E salva il file con CTRL+O e poi premi CTRL+X.


Preparazione della cartella “data”

Tutti i dati del nodo (la blockchain, i database e le configurazioni) verranno salvati in una cartella dedicata chiamata /data.

Perché?

  • Organizzazione, separare i dati del servizio dal sistema operativo rende più semplice la gestione ed il backup.
  • Portabilità, è molto più semplice spostare l’intera blockchain su un altro disco in futuro, poiché basterà “montare” il nuovo supporto direttamente in /data.

Per creare la cartella digita con l’utente giuseppe il seguente comando:

sudo mkdir /data

Assegna la proprietà di questa cartella al tuo utente, in modo che i software possano scriverci dentro senza restrizioni:

sudo chown ${USER}:${USER} /data

Ora la cartella è pronta ed “appartiene” al tuo utente.