Introduzione
Una blockchain privata è un'implementazione personalizzata di una blockchain che consente di creare e gestire il proprio network blockchain, separato dalla rete di blockchain pubblica come Ethereum mainnet.
In questo tutorial vedremo come installare e configurare una blockchain privata utilizzando il software Ethereum.
Prerequisiti
- Sistema operativo Linux (Ubuntu raccomandato)
- Accesso come utente con privilegi di amministratore (root)
- Connessione Internet
Installazione di Geth
Geth è il client Ethereum scritto in Go e permette di interagire con una blockchain Ethereum. Per installare Geth, esegui i seguenti comandi:
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install -y ethereum
Una volta completata l'installazione, puoi verificare che Geth sia stato installato correttamente eseguendo il comando:
geth version
Dovresti visualizzare la versione di Geth installata.
Creazione di un nuovo account
Un account è necessario per interagire con la blockchain. Puoi creare un nuovo account utilizzando il comando Geth:
geth account new
Verrà richiesto di inserire una passphrase per il nuovo account. Assicurati di ricordare questa passphrase in quanto sarà necessaria per sbloccare l'account in seguito.
Dopo aver inserito la passphrase, verrà generato un nuovo account e verrà mostrato un indirizzo Ethereum associato ad esso.
Inizializzazione di una nuova blockchain
Per creare una nuova blockchain privata, devi inizializzare una catena di blocchi utilizzando il comando Geth:
geth init /path/to/genesis.json
Dove `/path/to/genesis.json` è il percorso al file di configurazione della genesis block. La genesis block contiene le informazioni iniziali per la tua blockchain, come l'allocazione iniziale di token e la configurazione dei parametri di rete.
Puoi creare il tuo file di configurazione genesis.json con le specifiche desiderate. Ecco un esempio di come potrebbe essere:
{
"config": {
"chainId": 1234,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x20000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
Dopo l'inizializzazione della blockchain, la directory `.ethereum` verrà creata nella tua home directory e conterrà i dati della blockchain.
Avvio di Geth
Una volta configurata la blockchain privata, puoi avviare il nodo Geth utilizzando il comando:
geth --networkid 1234 --nodiscover --maxpeers 0 --datadir /path/to/data --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpcapi "eth,net,web3,personal" --allow-insecure-unlock console
Dove `--networkid` è l'ID della tua rete blockchain privata, `--datadir` è il percorso alla directory di dati della blockchain e `--rpcport` è la porta su cui verrà esposto l'API RPC.
Al termine del comando, il tuo nodo Geth dovrebbe essere avviato e sarai collegato alla console interattiva di Geth.
Conclusione
Hai appena configurato con successo una blockchain privata utilizzando Ethereum e Geth. Ora sei pronto per iniziare a sviluppare, testare e sperimentare con la tua blockchain privata!
Ricorda di proteggere le tue passphrase e i tuoi account, in quanto avrai pieno controllo sulla tua blockchain privata.