Creazione di un Nodo Rocket Pool Standard con Docker

In questa sezione, vedremo il processo di installazione dello stack Rocket Pool Smartnode utilizzando la configurazione standard basata su Docker. Questo installerà e configurerà tutto il necessario per eseguire un nodo completo, inclusi:

  • Il software Smartnode di Rocket Pool
  • Un client Execution (precedentemente ETH1) di tua scelta, o una connessione a un client esistente che già gestisci
  • Un client Consensus (precedentemente ETH2) di tua scelta, o una connessione a un client esistente che già gestisci
  • Un client Validator che gestirà i tuoi compiti di validazione della Beacon Chain
  • (Opzionalmente) uno stack di monitoraggio per acquisire metriche di prestazioni e salute

Tutto quello che devi fare è dirgli cosa vuoi eseguire!

NOTA

Le istruzioni seguenti richiedono l'uso del terminale del tuo sistema per inserire ed eseguire comandi. Se sei connesso alla macchina del nodo tramite SSH, stai già facendo questo. Se sei sulla macchina del nodo e stai utilizzando un'interfaccia utente Desktop, dovrai aprire una finestra del terminale per eseguire i seguenti comandi. Fai riferimento alle istruzioni del tuo sistema operativo per imparare come farlo se non hai familiarità.

Panoramica del Processo

Ad alto livello, ecco cosa comporta l'installazione di Rocket Pool:

  1. Scarica l'interfaccia a riga di comando (CLI) di Rocket Pool
  2. Usa la CLI per installare lo stack Smartnode
  3. Configura lo stack Smartnode con un'interfaccia utente facile da usare nel terminale
  4. Fatto!

Prima di Iniziare

Warning

Se utilizzi Ubuntu, si consiglia di verificare che docker non sia stato installato insieme al sistema operativo prima di installare Rocket Pool.

L'installer di Ubuntu ottiene docker dal gestore di pacchetti snap, che entrerà in conflitto con la versione di docker installata da Smartnode.

Esegui snap list e assicurati che docker non sia installato.

Ad esempio, questo è l'output su una macchina dove docker non è installato:

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

Ed ecco l'output se fosse installato:

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
docker  20.10.17       2746   latest/stable  canonical✓  -
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

Se lo vedi nell'output di snap list, assicurati di rimuoverlo con:

sudo systemctl stop snap.docker.dockerd.service

sudo snap remove --purge docker

Dopodiché, si consiglia di riavviare la macchina (sudo systemctl reboot)

Download della CLI di Rocket Pool

Le istruzioni per scaricare la CLI variano in base al tuo sistema operativo.

NOTA

Devi eseguire le seguenti istruzioni sulla macchina che utilizzerai per il tuo nodo Rocket Pool. Se non stai utilizzando una tastiera e un monitor collegati direttamente alla macchina del nodo, dovrai accedervi da remoto (ad esempio tramite SSH) ed eseguire questi comandi su di essa tramite quella connessione remota.

Linux
MacOS

Su Linux, inizia creando una nuova cartella che conterrà l'applicazione CLI:

mkdir -p ~/bin

Successivamente, scarica la CLI. Questo dipende dall'architettura utilizzata dal tuo sistema.

SUGGERIMENTO

Se non conosci l'architettura della tua CPU, puoi eseguire il seguente comando per trovarla:

uname -m

L'output di questo comando stamperà la tua architettura. Nota che x86_64 è lo stesso di x64 e amd64. Nota che aarch64 è lo stesso di arm64.

Per sistemi x64 (la maggior parte dei computer normali):

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool

Per sistemi arm64:

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-arm64 -O ~/bin/rocketpool

Contrassegnalo come eseguibile, in modo che abbia i permessi per essere eseguito:

chmod +x ~/bin/rocketpool

Successivamente, disconnettiti e riconnettiti (o chiudi SSH e riconnettiti), o semplicemente riavvia. Questo perché il percorso in cui hai salvato la CLI (~/bin) potrebbe non essere ancora nella variabile PATH del tuo sistema (l'elenco dei luoghi in cui il tuo sistema cerca gli eseguibili). Disconnettendoti e riconnettendoti, lo metterai lì.

Ora, prova a eseguirlo con il flag --version. Dovresti vedere un output come questo:

rocketpool --version
rocketpool version 1.18.10

SUGGERIMENTO

Se vedi un messaggio di errore come questo,

-bash: /home/user/rocketpool: cannot execute binary file: Exec format error

significa che hai scaricato la versione sbagliata sopra. Controlla se il tuo sistema è x64 o arm64 utilizzando il comando nel suggerimento sopra e scarica la versione appropriata. Se il tuo sistema non è nessuno di questi, non potrai eseguire Rocket Pool.

Installazione dello Stack Smartnode

Ora che hai installato la CLI, puoi distribuire lo stack Smartnode. Questo preparerà il tuo sistema con Docker, docker-compose e caricherà i file Smartnode in modo che siano pronti per l'uso. Non eseguirà ancora nulla; questo arriverà dopo.

Per distribuire lo stack Smartnode, dovrai eseguire il seguente comando sulla macchina del nodo (effettuando l'accesso localmente o connettendoti da remoto come tramite SSH):

rocketpool service install

Questo scaricherà l'ultima versione dello stack Smartnode e lo configurerà. Dovresti vedere un output come questo (sopra alcune note di rilascio per l'ultima versione che verranno stampate alla fine):

Se non ci sono messaggi di errore, allora l'installazione è stata completata con successo. Per impostazione predefinita, verrà inserito nella directory ~/.rocketpool all'interno della cartella home del tuo account utente.

NOTA

Nota che il programma di installazione di Smartnode non può installare docker e docker-compose su tutte le piattaforme automaticamente. Se ricevi un messaggio di errore come questo durante l'installazione:

Automatic dependency installation for the Mint operating system is not supported.
Please install docker and docker-compose manually, then try again with the '-d' flag to skip OS dependency installation.
Be sure to add yourself to the docker group with 'sudo usermod -aG docker $USER' after installing docker.
Log out and back in, or restart your system after you run this command.

Allora devi semplicemente installare quelle due cose manualmente.

Docker fornisce istruzioni di installazione comuni qui.

Docker-compose fornisce istruzioni di installazione comuni qui.

Una volta installati entrambi, assicurati di dare al tuo account utente il permesso di utilizzare Docker:

sudo usermod -aG docker $USER

Infine, riesegui il programma di installazione con il flag -d per saltare l'installazione di Docker:

rocketpool service install -d

Dopo questo, disconnettiti e riconnettiti o riavvia la tua sessione SSH affinché le impostazioni abbiano effetto.

Una volta terminato, lo stack Smartnode sarà pronto per essere eseguito.

Configurazione della Posizione di Archiviazione di Docker

Per impostazione predefinita, Docker memorizzerà tutti i dati del container sul disco del sistema operativo. In alcuni casi, questo non è ciò che vuoi.

NOTA

Se ti va bene questo comportamento predefinito, passa alla sezione successiva.

Per farlo, crea un nuovo file chiamato /etc/docker/daemon.json come utente root:

sudo nano /etc/docker/daemon.json

Questo sarà vuoto all'inizio, il che va bene. Aggiungi questo come contenuto:

{
  "data-root": "<your external mount point>/docker"
}

dove <your external mount point> è la directory in cui è montato il tuo altro disco.

Premi Ctrl+O, Invio per salvare il file e Ctrl+X, Invio per uscire dall'editor.

Successivamente, crea la cartella:

sudo mkdir -p <your external mount point>/docker

Ora, riavvia il daemon docker in modo che rilevi le modifiche:

sudo systemctl restart docker

Dopo di ciò, Docker memorizzerà i suoi dati sul disco desiderato.

Configurazione dello Stack Smartnode

Il prossimo passo nel processo di installazione è eseguire una configurazione iniziale del tuo nodo. Passa alla sezione Configurazione di Rocketpool per una guida attraverso questo processo.