Zasebno omrežje Ethereum - ustvarite svoj Ethereum Blockchain!



V tej vadnici za zasebno omrežje Ethereum boste izvedeli, kako ustvariti lasten Ethereum Blockchain in kako opraviti transakcijo med dvema računoma.

V prejšnjem Vadnica za tartufe Ethereum , ste izvedeli za Truffle Suite in razvili Ethereum DApp. Če želite razviti zapleteno aplikacijo ethereum, jo ​​boste želeli zagnati v zasebnem omrežju, da boste videli, kako deluje, preden jo uvedete. V tej vadnici za zasebno omrežje Ethereum boste izvedeli, kako ustvariti Zasebno omrežje Ethereum in kako opraviti transakcijo med dvema računoma.

Vas zanima razvoj Ethereuma? Oglejte si Live .





Vadnica za zasebno omrežje Ethereum

To so teme, ki jih bom obravnaval v tej vadnici:

Kaj je zasebno omrežje Ethereum?

Zasebno omrežje Ethereum je popolnoma zasebna veriga blokov, ki je izolirana od glavnega omrežja Ethereum. Zasebno mrežo Ethereum v glavnem ustvarijo organizacije, da omejijo dovoljenja za branje blokovne verige. Do tega Blockchaina bodo lahko dostopala samo vozlišča z ustreznimi dovoljenji. Vozlišča v tem omrežju niso povezana z glavnimi omrežnimi vozlišči in njihov doseg je omejen samo na ta zasebni Blockchain.



Zasebno in javno - Vadnica za zasebno omrežje Ethereum - Edureka

Zakaj se uporablja zasebno omrežje Ethereum?

Zasebno omrežje Ethereum uporabljajo organizacije za shranjevanje zasebnih podatkov, ki ne bi smeli biti vidni ljudem zunaj njihove organizacije. Zasebno omrežje Ethereum se uporablja tudi za testiranje in preizkušanje blokovne verige, če nekdo ne želi uporabljati javnih testnih omrežij.

Značilnosti zasebnega omrežja Ethereum

Kot je bilo omenjeno v prejšnjem poglavju, se za namene testiranja uporablja zasebno omrežje Ethereum. Toda zakaj bi se nekdo potrudil z ustvarjanjem novega omrežja, ko so že na voljo javna preskusna omrežja? No, zasebno omrežje Ethereum ima svoj nabor funkcij, kot so navedene spodaj:



  • Deluje kot porazdeljena baza podatkov
  • Blockchain v zasebnem omrežju Ethereum lahko vsebuje zasebne podatke (ker omrežje ni javno)
  • Dostop lahko temelji na dovoljenju
  • Izvajanje transakcij je lahko brezplačno
  • Računi se lahko dodelijo z etrisami, kar sploh ne zahteva nakupa navideznih etrov

Nadaljujemo, pojdimo na praktični del te vadnice zasebnega omrežja Ethereum.

Namestitev Ethereuma v Ubuntu

Če želite ustvariti zasebno omrežje Ethereum, moramo najprej v svoj sistem namestiti Ethereum. V tem razdelku Vadnice za zasebno omrežje Ethereum boste izvedeli, kako namestiti Ethereum v Ubuntu.

Če želite namestiti Ethereum, v terminalu zaženite naslednje ukaze:

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

Končano! To bo namestilo Ethereum v vaš sistem.

Začnimo z ustvarjanjem zasebnega omrežja.

Predstavitev: Ustvarjanje zasebnega omrežja Ethereum in izvedba transakcije

V tej vadnici za zasebno omrežje Ethereum bomo poslali etrez enega računa na drugega in tako potrebujemo račune. Poglejmo zdaj, kako ustvariti račune za našo Blockchain.

Ustvarjanje računov za zasebno omrežje Ethereum

Pred ustvarjanjem novih računov ustvarite nov imenik za naše delovno mesto. Za to glejte spodnje ukaze:

$ mkdir private-ethereum $ cd private-ethereum

Za izvedbo transakcije potrebujemo vsaj dva računa: prejemnika in pošiljatelja.

Če želite ustvariti dva računa, dvakrat zaženite naslednji ukaz:

Račun $ geth --datadir ./datadir nov

Vnesite geslo za vsak račun na vprašanje. Ne pozabite tega gesla!

Ko se ti ukazi uspešno zaženejo, bosta ustvarjena dva računa in naslov računa bo prikazan na zaslonu.

Te naslove shranite nekje, ker jih bomo še naprej uporabljali.

Ustvarjanje datoteke Genesis

Datoteka Genesis vsebuje lastnosti, ki določajo verigo blokov. Datoteka Genesis je začetna točka Blockchaina, zato je obvezno ustvariti Genesis datoteko, da ustvarite Blockchain. Zdaj pa ustvariva Genezomapa.

Najprej ustvarite datoteko z imenom genesis.json

$ nano genesis.json

In zdaj v to datoteko kopirajte in prilepite naslednjo kodo:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'težavnost': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance ':' 1200000000}

Opomba: V zgornji kodi zamenjajte naslov pod aloc odsek z naslovom računov, ki ste jih ustvarili v prejšnjem koraku.

java kaj je žeton

Shranite in zapustite.

Naj na kratko razložim vsebino datoteke Genesis:

chainId - To je identifikacijska številka verige, ki se uporablja za razlikovanje med verigami blokov
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - te lastnosti so povezane z vilicami verige in različicami. Za našo vadnico jih ne potrebujemo, zato jih nastavimo na 0.
težavnost - Ta številka določa, kako težko bodo bloki minirani. Za zasebna omrežja je dobro nastaviti nižjo številko, saj vam omogoča hitro kopanje blokov, kar ima za posledico hitre transakcije.
gasLimit - Ta številka je skupna količina plina, ki se lahko porabi v posameznem bloku. Ne želimo, da naše omrežje doseže mejo, zato smo to postavili visoko.
aloc - Ta del se uporablja za dodelitev etrov že ustvarjenim računom.

Datoteka Genesis je pripravljena. Zdaj je čas, da zaženete Blockchain.

Instantiating Data Directory

Pred zagonom verige blokov moramo instancirati podatkovni imenik. Podatkovni imenik je imenik, v katerem so shranjeni podatki, povezani z verigo blokov. Če želite instancirati podatkovni imenik, zaženite naslednji ukaz:

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

Ob uspešnem primerku bi morali videti naslednji izhod:

Z instanciranim Data Directoryom lahko zdaj zaženemo Blockchain.

Zagon Ethereum Private Blockchain

Če želite zagnati Blockchain, zaženite naslednji ukaz:

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

Končano! Vaš zasebni Ethereum Blockchain deluje.

V zgornjem ukazu pošljemo vse dnevnike v ločeno datoteko, imenovano Eth.log . Geth samodejno ustvari novo datoteko, če je ne najde.

Izhod te kode bi moral izgledati nekako takole:

Zdaj smo vstopili v geth konzola kjer lahko izvajamo ukaze za naš Blockchain.

Branje dnevnikov

V prejšnjem razdelku sem omenil, da hranimo dnevnike v drugi datoteki. V tem razdelku vam bom povedal, kako prebrati dnevnike iz te datoteke.

Dnevnike bomo brali z ločenega terminala, zato najprej odprimo nov terminal. Najprej,preklopite na zasebno-ethereum imenik in nato zaženite naslednji ukaz za branje dnevnikov:

$ tail -f Eth.log

Zdaj lahko v terminalu vidite dnevnike. Ti dnevniki se dinamično posodabljajo, kadar koli je v Blockchainu nekaj dejavnosti.

Uvoz računov v zasebno omrežje

Morda se spomnite, da smo za transakcije ustvarili dva računa. Vendar teh računov nismo dodali v svoje omrežje. V tem razdelku vadnice za zasebno omrežje Ethereum vam bom povedal, kako uvoziti račune.

Ko ustvarimo račun, se vse podrobnosti računa shranijo v UTC mapa v imeniku, omenjenem med ustvarjanjem računa (pot: ./datadir/keystore ). Za uvoz računov moramo te datoteke kopirati in prilepiti v shramba ključev v imeniku podatkov(pot: ./myDataDir/keystore )

To je vse! Računi so uvoženi. Preprosto, kajne? Če želite preveriti uvoz, bomo v ukazu geth konzola.

> et.računi

Prikaže se seznam vseh razpoložljivih računov.

Za preverjanje stanja teh računov bomo uporabili naslednji ukaz:

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

Pripravljeni smo z vsem, kar je potrebno za izvedbo transakcije. Zakaj čakati? Naredimo to!

Izvajanje transakcije

V tej vadnici za zasebno omrežje Ethereum bomo poslali nekaj eterjevz enega računa na drugega.

Sintaksa za pošiljanje etrov je naslednja:

> eth.sendTransaction ({od: 'naslov', do: 'naslov', vrednost: web3.toWei (količina, 'eter')})

Z računa 1 bomo na račun 2 poslali 1000 eterjev z naslednjim ukazom:

> eth.sendTransaction ({od: eth.accounts [0], do: eth.accounts [1], vrednost: web3.toWei (1000, 'eter')})

Ni delovalo? Ne skrbite. Tudi zame ni uspelo. To je zato, ker je račun privzeto zaklenjen in ne dovoljuje transakcij.

Najprej moramo torej odkleniti račun pošiljatelja. Se spomnite gesla, ki ste ga uporabili med ustvarjanjem računa? No, saj morate to uporabiti za odklepanje računa. Račun bomo odklenili z naslednjim ukazom:

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

Zdaj bomo poslali etreuspešno:

> eth.sendTransaction ({od: eth.accounts [0], do: eth.accounts [1], vrednost: web3.toWei (1000, 'eter')})

To bi moralo vrniti ID transakcije.

Končano! Uspešno ste opravili transakcijo!

Če želite preveriti transakcijo, preverimo stanje na obeh računih.

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

Juhu! Vidimo, da 1000 etrovso bili poslani z enega računa na drugega!

php spremeni niz v matriko

Čestitamo! Ustvarili ste zasebno omrežje Ethereum in izvedli transakcijo. Upam, da je bila ta vadnica za zasebno omrežje Ethereum informativna in vam pomagala razumeti zasebno omrežje Ethereum. Zdaj pa poskusite preizkusiti novo ustvarjeno zasebno omrežje.

Imate vprašanje za nas? Prosim, objavite na in se bomo oglasili pri vas.

Če se želite naučiti Blockchain in si ustvariti kariero v Blockchain Technologies, si oglejte našo ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in izkušnjami iz resničnega življenja Ta trening vam bo pomagal izčrpno razumeti, kaj je Blockchain, in vam pomagal doseči mojstrstvo nad temo.