Rețea privată Ethereum - Creați propriul blockchain Ethereum!



În acest tutorial Ethereum Private Network, veți afla cum să vă creați propriul Ethereum Blockchain și cum să efectuați o tranzacție între două conturi.

În anteriorul Tutorial pentru trufe Ethereum , ați aflat despre Truffle Suite și ați dezvoltat un Ethereum DApp. Pentru a dezvolta o aplicație ethereum complexă, va trebui să o rulați într-o rețea privată pentru a vedea cum funcționează înainte de a o implementa. Deci, în acest tutorial Ethereum Private Network, veți învăța cum să creați un Rețea privată Ethereum și cum să efectuați o tranzacție între două conturi.

Vă interesează dezvoltarea Ethereum? Consultați Live .





Tutorial rețea privată Ethereum

Acestea sunt subiectele pe care le voi aborda în acest tutorial:

Ce este rețeaua privată Ethereum?

O rețea privată Ethereum este un blockchain complet privat, care este izolat de rețeaua principală Ethereum. Rețeaua privată Ethereum este creată în principal de organizații pentru a restricționa permisiunile de citire ale Blockchain. Doar nodurile cu permisiunile corecte vor putea accesa acest Blockchain. Nodurile din această rețea nu sunt conectate la nodurile rețelei principale și acoperirea lor este limitată doar la acest blockchain privat.



Privat și public - Tutorial rețea privată Ethereum - Edureka

De ce se folosește rețeaua privată Ethereum?

Rețeaua privată Ethereum este utilizată de organizații pentru a stoca date private care nu ar trebui să fie vizibile pentru persoanele din afara organizației lor. Rețeaua privată Ethereum este, de asemenea, utilizată pentru testarea și experimentarea Blockchain-ului dacă cineva nu dorește să utilizeze rețelele publice de testare.

Caracteristicile rețelei private Ethereum

După cum sa menționat în secțiunea anterioară, rețeaua privată Ethereum este utilizată în scopul testării. Dar de ce ar avea cineva probleme cu crearea unei noi rețele atunci când există deja rețele publice de testare disponibile? Ei bine, rețeaua privată Ethereum are propriul său set de caracteristici enumerate mai jos:



  • Acționează ca o bază de date distribuită
  • Blockchain-ul din rețeaua privată Ethereum poate conține date private (deoarece rețeaua nu este publică)
  • Accesul poate fi bazat pe permisiuni
  • Efectuarea de tranzacții poate fi gratuită
  • Conturile pot fi alocate cu eteride noi înșine, care nu necesită nici măcar cumpărarea de eteri virtuali

Mai departe, să trecem la partea practică a acestui tutorial Ethereum Private Network.

Instalarea Ethereum pe Ubuntu

Pentru a crea o rețea privată Ethereum, trebuie mai întâi să avem Ethereum instalat în sistemul nostru. În această secțiune a Tutorialului de rețea privată Ethereum, veți afla cum să instalați Ethereum pe Ubuntu.

scanerul Java obține următorul caracter

Pentru a instala Ethereum, rulați următoarele comenzi într-un terminal:

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

Terminat! Aceasta va instala Ethereum pe sistemul dvs.

Să începem cu crearea rețelei private.

Demo: Crearea rețelei private Ethereum și efectuarea unei tranzacții

În acest tutorial Ethereum Private Network, vom trimite eteride la un cont la altul și, așadar, avem nevoie de conturi. Să vedem acum cum să creăm conturi pentru Blockchain-ul nostru.

Crearea conturilor pentru rețeaua privată Ethereum

Înainte de a crea conturi noi, permiteți-ne să creăm un director nou pentru locul de muncă. Consultați comenzile de mai jos pentru a face acest lucru:

$ mkdir private-ethereum $ cd private-ethereum

Pentru a efectua o tranzacție, avem nevoie de cel puțin două conturi: un destinatar și un expeditor.

Pentru a crea două conturi, rulați următoarea comandă de două ori:

$ geth --datadir ./datadir cont nou

Introduceți fișierul expresie de acces pentru fiecare cont la cerere. Nu uitați această expresie de acces!

Odată ce aceste comenzi rulează cu succes, vor fi create două conturi și adresa contului va fi afișată pe ecran.

Salvați aceste adrese undeva, deoarece le vom folosi în continuare.

Crearea fișierului Genesis

Un fișier Genesis conține proprietățile care definesc Blockchain. Un fișier Genesis este punctul de pornire al Blockchain și, prin urmare, este obligatoriu să creați fișierul Genesis pentru a crea un Blockchain. Acum, să creăm Genezafişier.

Mai întâi, creați un fișier numit genesis.json

$ nano genesis.json

Și acum copiați și lipiți următorul cod în fișierul respectiv:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'difficult': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance '00 '00 '00 '

Notă: În codul de mai sus, înlocuiți adresa de sub aloc secțiunea cu adresa conturilor pe care le-ați creat în pasul anterior.

cum se termină programul Java

Salvați-l și ieșiți.

Permiteți-mi să explic pe scurt conținutul fișierului Genesis:

chainId - Acesta este numărul de identificare a lanțului care este utilizat pentru a distinge între Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - aceste proprietăți sunt legate de bifurcarea lanțului și versionarea. Nu avem nevoie de acestea pentru tutorial, așa că să le setăm la 0.
dificultate - Acest număr decide cât de dificile vor fi blocurile mele. Pentru rețelele private, este bine să setați un număr mai mic, deoarece vă permite să extrageți rapid blocuri, ceea ce duce la tranzacții rapide.
gazLimit - Acest număr este cantitatea totală de gaz care poate fi utilizată în fiecare bloc. Nu vrem ca rețeaua noastră să atingă limita, așa că am stabilit acest nivel.
aloc - Această parte este utilizată pentru a aloca eteri conturilor deja create.

Fișierul Genesis este gata. Acum, este timpul să porniți Blockchain.

Instantierea directorului de date

Înainte de a începe Blockchain, trebuie să instanțiem directorul de date. Directorul de date este directorul în care sunt stocate datele referitoare la Blockchain. Pentru a instanția directorul de date, rulați următoarea comandă:

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

La instanțierea cu succes, ar trebui să vedeți următoarea ieșire:

Cu Directorul de date instanțiat, putem începe acum Blockchain.

Începând Ethereum Private Blockchain

Pentru a porni Blockchain, rulați următoarea comandă:

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

Terminat! Blockchain-ul privat Ethereum este în funcțiune.

În comanda de mai sus, trimitem toate jurnalele într-un fișier separat numit Eth.log . Geth va crea automat un fișier nou dacă nu este găsit.

Ieșirea acestui cod ar trebui să arate cam așa:

Acum, am intrat în geth consolă unde putem rula comenzi pentru Blockchain-ul nostru.

Citirea jurnalelor

În secțiunea anterioară, am menționat că stocăm jurnalele într-un alt fișier. În această secțiune, vă voi spune cum să citiți jurnalele din acest fișier.

Vom citi jurnalele de la un terminal separat, așa că mai întâi să deschidem un nou terminal. Primul,comutați la private-etereum director și apoi executați următoarea comandă pentru a citi jurnalele:

$ tail -f Eth.log

Acum puteți vedea jurnalele în terminal. Aceste jurnale sunt actualizate dinamic ori de câte ori există o anumită activitate în Blockchain.

Importul conturilor în rețeaua privată

Vă puteți aminti că am creat două conturi pentru a efectua tranzacții. Dar nu am adăugat aceste conturi în rețeaua noastră. Deci, în această secțiune a tutorialului Ethereum Private Network, vă voi spune cum să importați conturile.

Când creăm un cont, toate detaliile contului sunt stocate într-un UTC fişier în directorul menționat în timpul creării contului (cale: ./datadir/keystore ). Pentru a importa conturile, trebuie să copiem aceste fișiere și să le lipim în keystore din directorul de date(cale: ./myDataDir/keystore )

Asta e tot! Conturile sunt importate. Simplu, nu-i așa? Pentru a verifica importul, vom rula următoarea comandă în geth consolă.

> eth.conturi

Aceasta va afișa o listă cu toate conturile disponibile.

Pentru a verifica soldul acestor conturi, vom folosi următoarea comandă:

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

Suntem gata cu tot ce este necesar pentru a efectua o tranzacție. De ce să aștepți? S-o facem!

Efectuarea unei tranzacții

În acest tutorial Ethereum Private Network, vom trimite niște eteride la un cont la altul.

Sintaxa pentru a trimite eteri este următoarea:

> eth.sendTransaction ({de la: ”adresă”, la: ”adresă”, valoare: web3.toWei (sumă, „eter”)})

Vom trimite 1000 de eteri din contul 1 în contul 2 folosind următoarea comandă:

trece prin valoare vs trece prin referință java
> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], value: web3.toWei (1000, 'ether')})

Nu a funcționat? Nu vă faceți griji. Nu a funcționat și pentru mine. Acest lucru se datorează faptului că contul este blocat implicit și nu permite tranzacții.

Deci, mai întâi, trebuie să deblocăm contul expeditorului. Vă amintiți expresia de acces pe care ați folosit-o la crearea contului? Ei bine, trebuie, pentru că va trebui să îl folosiți pentru a debloca contul. Vom debloca contul cu următoarea comandă:

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

Acum vom trimite etericu succes:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], value: web3.toWei (1000, 'ether')})

Aceasta ar trebui să returneze un ID de tranzacție.

Terminat! Ați făcut cu succes o tranzacție!

Pentru a verifica tranzacția, să verificăm soldul în ambele conturi.

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

Ura! Putem vedea că 1000 de eteriau fost trimise dintr-un cont în altul!

Felicitări! Ați creat o rețea privată Ethereum și ați făcut o tranzacție. Sper că acest tutorial Ethereum Private Network a fost informativ și te-a ajutat să înțelegi despre Ethereum Private Network. Acum, continuați și încercați să experimentați noua rețea privată creată.

Ai o întrebare pentru noi? Vă rugăm să o postați pe și ne vom întoarce la tine.

Dacă doriți să învățați Blockchain și să construiți o carieră în tehnologiile Blockchain, atunci consultați care vine cu instruire live condusă de instructor și experiență în viața reală a proiectului. Această instruire vă va ajuta să înțelegeți ce este Blockchain într-o manieră exhaustivă și vă va ajuta să obțineți stăpânire asupra subiectului.