Ethereum Private Network - Crea la tua Blockchain Ethereum!



In questo tutorial sulla rete privata di Ethereum, imparerai come creare la tua Blockchain di Ethereum e come effettuare una transazione tra due account.

Nel precedente Tutorial su Truffle Ethereum , hai imparato a conoscere Truffle Suite e hai sviluppato un file Ethereum DApp. Per sviluppare un'applicazione Ethereum complessa, dovrai eseguirla su una rete privata per vedere come funziona prima di distribuirla. Quindi, in questo tutorial sulla rete privata di Ethereum, imparerai come creare un file Rete Ethereum privata e come effettuare una transazione tra due conti.

Interessato allo sviluppo di Ethereum? Dai un'occhiata al Live .





Tutorial sulla rete privata di Ethereum

Questi sono gli argomenti che tratterò in questo tutorial:

Cos'è Ethereum Private Network?

Una rete privata di Ethereum è una Blockchain completamente privata isolata dalla rete principale di Ethereum. Ethereum Private Network è principalmente creato da organizzazioni per limitare i permessi di lettura della Blockchain. Solo i nodi con le giuste autorizzazioni potranno accedere a questa Blockchain. I nodi in questa rete non sono collegati ai nodi della rete principale e la loro portata è limitata solo a questa Blockchain privata.



Tutorial privato e pubblico -Ethereum Private Network - Edureka

Perché viene utilizzata la rete privata Ethereum?

Ethereum Private Network viene utilizzato dalle organizzazioni per archiviare dati privati ​​che non dovrebbero essere visibili a persone esterne alla loro organizzazione. Ethereum Private Network viene anche utilizzato per testare e sperimentare la Blockchain se qualcuno non desidera utilizzare le reti di test pubbliche.

Caratteristiche di Ethereum Private Network

Come accennato nella sezione precedente, Ethereum Private Network viene utilizzato a scopo di test. Ma perché qualcuno dovrebbe prendersi la briga di creare una nuova rete quando sono già disponibili reti pubbliche di test? Bene, Ethereum Private Network ha il proprio set di funzionalità come elencato di seguito:



  • Funziona come un database distribuito
  • La blockchain nella rete privata Ethereum può contenere dati privati ​​(perché la rete non è pubblica)
  • L'accesso può essere basato su autorizzazioni
  • Fare transazioni può essere gratuito
  • I conti possono essere assegnati con eterida soli che non richiede nemmeno l'acquisto di etere virtuali

Andando avanti, passiamo alla parte pratica di questo tutorial sulla rete privata di Ethereum.

Installazione di Ethereum su Ubuntu

Per creare una rete privata Ethereum, dobbiamo prima avere Ethereum installato nel nostro sistema. In questa sezione del Tutorial sulla rete privata di Ethereum, imparerai come installare Ethereum su Ubuntu.

Per installare Ethereum, esegui i seguenti comandi in un terminale:

$ sudo apt-get install software-proprietà-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Fatto! Questo installerà Ethereum sul tuo sistema.

Cominciamo con la creazione della rete privata.

Demo: creazione di una rete privata Ethereum ed esecuzione di una transazione

In questo tutorial Ethereum Private Network, invieremo etherda un account all'altro e quindi abbiamo bisogno di account. Vediamo ora come creare account per la nostra Blockchain.

Creazione di account per la rete privata Ethereum

Prima di creare nuovi account, creiamo una nuova directory per il nostro posto di lavoro. Fare riferimento ai comandi seguenti per eseguire questa operazione:

$ mkdir privato-ethereum $ cd privato-ethereum

Per effettuare una transazione, abbiamo bisogno di almeno due account: un destinatario e un mittente.

Per creare due account, esegui due volte il seguente comando:

$ geth --datadir ./datadir account nuovo

Inserisci il frase d'accesso per ogni account quando richiesto. Non dimenticare questa passphrase!

Una volta eseguiti correttamente questi comandi, verranno creati due account e l'indirizzo dell'account verrà visualizzato sullo schermo.

Salva questi indirizzi da qualche parte perché li useremo ulteriormente.

Creazione del file Genesis

Un file Genesis contiene le proprietà che definiscono la Blockchain. Un file Genesis è il punto di partenza della Blockchain e quindi è obbligatorio creare il file Genesis per creare una Blockchain. Ora, creiamo la Genesifile.

Innanzitutto, crea un file denominato genesis.json

$ nano genesis.json

E ora copia e incolla il seguente codice in quel file:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'difficoltà': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {'000000000000: {'0000000000

Nota: Nel codice sopra, sostituire l'indirizzo sotto alloc sezione con l'indirizzo degli account che hai creato nel passaggio precedente.

Salvalo ed esci.

Lasciatemi spiegare brevemente il contenuto del file Genesis:

chainId - Questo è il numero di identificazione della catena che viene utilizzato per distinguere tra Blockchain
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - queste proprietà sono correlate al fork della catena e al versionamento. Non ci servono per il nostro tutorial, quindi impostiamoli su 0.
difficoltà - Questo numero decide quanto sarà difficile estrarre i blocchi. Per le reti private, è bene impostare un numero inferiore in quanto ti consente di estrarre rapidamente i blocchi, il che si traduce in transazioni veloci.
gasLimit - Questo numero è la quantità totale di gas che può essere utilizzata in ogni blocco. Non vogliamo che la nostra rete raggiunga il limite, quindi abbiamo impostato un valore così alto.
alloc - Questa parte viene utilizzata per allocare ether ad account già creati.

Il file Genesis è pronto. Ora è il momento di avviare la Blockchain.

Creazione di istanze della directory dei dati

Prima di avviare la Blockchain, dobbiamo istanziare la directory dei dati. La Directory dei dati è la directory in cui sono archiviati i dati relativi alla Blockchain. Per creare un'istanza della directory dei dati, eseguire il comando seguente:

$ geth --datadir ./myDataDir init ./genesis.json

In caso di istanza riuscita, dovresti vedere il seguente output:

Con la directory dei dati istanziata, ora possiamo avviare la blockchain.

Avvio di Ethereum Private Blockchain

Per avviare la Blockchain, esegui il seguente comando:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Fatto! La tua Blockchain Ethereum privata è attiva e funzionante.

Nel comando precedente, stiamo inviando tutti i log in un file separato chiamato Eth.log . Geth creerà automaticamente un nuovo file se non viene trovato.

L'output di questo codice dovrebbe essere simile a questo:

Ora, siamo entrati nel geth console dove possiamo eseguire comandi per la nostra Blockchain.

Lettura dei registri

Nella sezione precedente, ho accennato al fatto che stiamo archiviando i log in un altro file. In questa sezione ti dirò come leggere i log da questo file.

Leggeremo i log da un terminale separato, quindi prima apriamo un nuovo terminale. Primo,passare a private-ethereum directory e quindi eseguire il seguente comando per leggere i log:

$ tail -f Eth.log

Ora puoi vedere i log nel terminale. Questi registri vengono aggiornati dinamicamente ogni volta che c'è qualche attività nella Blockchain.

Importazione di account su rete privata

Potresti ricordare che abbiamo creato due account per effettuare transazioni. Tuttavia, non abbiamo aggiunto questi account alla nostra rete. Quindi, in questa sezione del tutorial di Ethereum Private Network, ti ​​dirò come importare gli account.

Quando creiamo un account, tutti i dettagli dell'account vengono memorizzati in un file UTC file nella directory menzionata durante la creazione dell'account (percorso: ./datadir/keystore ). Per importare gli account, dobbiamo copiare questi file e incollarli nel file keystore directory nella directory dei dati(sentiero: ./myDataDir/keystore )

È tutto! Gli account vengono importati. Semplice, non è vero? Per verificare l'importazione, eseguiremo il seguente comando nel file geth console.

> eth.accounts

Questo mostrerà un elenco di tutti gli account disponibili.

Per controllare il saldo di questi conti, useremo il seguente comando:

> web3.fromWei (eth.getBalance (), 'ether')

Siamo pronti con tutto il necessario per effettuare una transazione. Perché aspettare? Facciamolo!

Effettuare una transazione

In questo tutorial sulla rete privata di Ethereum, invieremo alcuni etherda un account all'altro.

La sintassi per inviare ether è la seguente:

> eth.sendTransaction ({from: 'address', to: 'address', value: web3.toWei (amount, 'ether')})

Invieremo 1000 ether dall'account 1 all'account 2 utilizzando il seguente comando:

invertire un numero in java
> eth.sendTransaction ({da: eth.accounts [0], a: eth.accounts [1], valore: web3.toWei (1000, 'ether')})

Non ha funzionato? Non preoccuparti. Non ha funzionato anche per me. Questo perché l'account è bloccato per impostazione predefinita e non consente transazioni.

Quindi, per prima cosa, dobbiamo sbloccare l'account del mittente. Ricordi la passphrase che hai utilizzato durante la creazione dell'account? Bene, devi, perché dovrai usarlo per sbloccare l'account. Sbloccheremo l'account con il seguente comando:

personal.unlockAccount (eth.accounts [0], '')

Ora invieremo etericon successo:

> eth.sendTransaction ({da: eth.accounts [0], a: eth.accounts [1], valore: web3.toWei (1000, 'ether')})

Questo dovrebbe restituire un ID transazione.

Fatto! Hai effettuato con successo una transazione!

Per verificare la transazione, controlliamo il saldo in entrambi i conti.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

Sìì! Possiamo vedere che 1000 eterisono stati inviati da un account all'altro!

Congratulazioni! Hai creato una rete privata Ethereum e hai effettuato una transazione. Spero che questo tutorial su Ethereum Private Network sia stato informativo e ti abbia aiutato a comprendere Ethereum Private Network. Ora vai avanti e prova a sperimentare con la rete privata appena creata.

Hai domande per noi? Per favore, pubblicalo su e ti risponderemo.

Se desideri imparare Blockchain e costruire una carriera nelle tecnologie Blockchain, dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a capire cos'è Blockchain in modo esaustivo e ti aiuterà a raggiungere la padronanza dell'argomento.