Vai al contenuto principale

Come eseguire un nodo leggero con Geth

clientnodi
Principiante
📆4 marzo 2022
⏱️3 minuti letti

Se ti interessa eseguire un nodo Ethereum, uno dei modi più facili è scaricare, installare ed eseguire Geth. Con Geth, possiamo ottenere un nodo leggero attivo in pochi minuti.

Un client leggero richiede meno di 400MB d'archiviazione, pur consentendo la piena interattività con lo stato di Ethereum. I client leggeri recuperano i dati dai peer remoti, quindi alcune interrogazioni potrebbero richiedere un più di tempo per la risposta rispetto ad altre modalità di sincronizzazione.

Per una spiegazione delle differenze tra le diverse modalità di sincronizzazione, leggi la nostra documentazione per sviluppatori di nodi e client.

Installa ed esegui

Innanzitutto occorre installare Geth(opens in a new tab).

Dopo aver installato Geth, puoi eseguire un nodo di Ethereum in modalità "light" eseguendo il seguente comando in una finestra del Terminale:

geth --syncmode light

Una volta avviato, Geth inizia a connettersi ad altri nodi su Ethereum, noti come "peer". Il processo di connessione ai peer potrebbe richiedere un po' di tempo.

Quando il tuo nodo di Geth ha abbastanza peer, importerà le intestazioni dai nuovi blocchi sulla catena.

Quando le intestazioni del nuovo blocco non avranno più una "età", Geth sarà sincronizzato all'inizio della catena.

Arrestare e riavviare il nodo

Puoi interrompere il tuo nodo quando vuoi premendo CTRL+C.

Riavviando il nodo, Geth impiegherà qualche minuto per scaricare le intestazioni del blocco create dall'ultima esecuzione del nodo.

Abilita il server HTTP-RPC

Abilitare il server HTTP-RPC ti consente di connettere il tuo nodo di Ethereum ad altri software come portafogli, estensioni del browser o librerie software personalizzate.

Puoi abilitare il server HTTP-RPC eseguendo il seguente comando al lancio di Geth:

geth --syncmode light --http

Una volta abilitato, esegui curl http://127.0.0.1:8545. Non dovresti ricevere alcun errore.

Consenti le connessioni remote

Per consentire a host remoti di connettersi al tuo nodo, avvia Geth con il seguente comando:

1geth --syncmode light --http --http.addr 0.0.0.0
2

Nota: questo presuppone che non ci sia alcun processo che blocca le richieste al tuo host locale, come ad esempio un firewall.

Console JavaScript di Geth

Geth ha una console JavaScript integrata e un'APi JavaScript chiamata web3js(opens in a new tab), che puoi usare per interagire col tuo nodo.

Per usare la console JavaScript, esegui:

geth attach

Questa console consente di interagire direttamente con Ethereum. Ad esempio, eseguendo il comando eth.blockNumber si otterrà il numero dell'ultimo blocco noto.

Documentazione completa di web3js(opens in a new tab)

Rete principale e reti di prova

Geth esegue di default il tuo nodo sulla Rete principale di Ethereum.

Puoi anche usare Geth per eseguire un nodo su una delle reti di prova pubbliche, eseguendo uno dei seguenti comandi nel Terminale:

geth --syncmode light --ropsten
geth --syncmode light --rinkeby
geth --syncmode light --goerli

Dove sono memorizzati i dati della blockchain e dell'EVM?

La directory che Geth usa per memorizzare i dati grezzi della blockchain dipende dal sistema operativo. Dopo aver eseguito Geth, cerca un messaggio simile a questo:

INFO [11-18|14:04:47] Allocated cache and file handles database=/Users/bgu/Library/Ethereum/testnet/geth/lightchaindata cache=768 handles=128

Il percorso dopo "database=" dovrebbe indicare dove sono memorizzati i dati della blockchain sul computer locale. Se esegui un nodo completo, questa directory conterrà tutti i dati su ogni blocco salvato nella blockchain. Poiché noi eseguiamo un nodo leggero, questa directory contiene solo le intestazioni dei blocchi.

Vale la pena ribadire che, al livello più basso, questo percorso è la posizione in cui si trova la blockchain. I contenuti completi della blockchain e dello stato dell'EVM sono memorizzati in ogni nodo completo nella rete di Ethereum, in directory che somigliano molto a quella presente sul tuo computer.

Letture consigliate

Ultima modifica: , Invalid DateTime

Questa pagina è stata utile?