Súkromná sieť Ethereum - vytvorte si vlastný blockchain Ethereum!



V tomto výučbe privátnej siete Ethereum sa dozviete, ako vytvoriť svoj vlastný Ethereum Blockchain a ako uskutočniť transakciu medzi dvoma účtami.

V predchádzajúcom Výukový program pre hľuzovky Ethereum , dozvedeli ste sa o Truffle Suite a vyvinuli ste Ethereum DApp. Ak chcete vyvinúť komplexnú aplikáciu ethereum, budete ju chcieť spustiť v súkromnej sieti a pred nasadením zistiť, ako funguje. Takže v tomto výučbe pre privátnu sieť Ethereum sa naučíte, ako vytvoriť Súkromná sieť Etherea a ako uskutočniť transakciu medzi dvoma účtami.

Máte záujem o vývoj éteru? Vyskúšajte Live .





Výukový program pre privátnu sieť Ethereum

Toto sú témy, ktorým sa budem v tomto návode venovať:

Čo je to súkromná sieť Ethereum?

Ethereum Private Network je úplne súkromný Blockchain, ktorý je izolovaný od hlavnej siete Ethereum. Súkromná sieť Etherea je vytváraná hlavne organizáciami na obmedzenie povolení Blockchainu na čítanie. K tomuto blockchainu budú mať prístup iba uzly so správnymi povoleniami. Uzly v tejto sieti nie sú pripojené k hlavným sieťovým uzlom a ich dosah je obmedzený iba na tento súkromný Blockchain.



Výukový program pre súkromné ​​a verejné - súkromné ​​siete Ethereum - Edureka

Prečo sa používa Ethereum Private Network?

Privátna sieť Ethereum používajú organizácie na ukladanie súkromných údajov, ktoré by nemali byť viditeľné pre ľudí mimo ich organizácie. Súkromná sieť Ethereum sa tiež používa na testovanie a experimentovanie s blockchainom, ak niekto nechce používať verejné testovacie siete.

Vlastnosti privátnej siete Ethereum

Ako bolo uvedené v predchádzajúcej časti, na testovacie účely sa používa súkromná sieť Ethereum. Prečo by si však niekto dal problém s vytvorením novej siete, keď už sú k dispozícii verejné testovacie siete? Ethereum Private Network má svoju vlastnú sadu funkcií, ktoré sú uvedené nižšie:



  • Funguje ako distribuovaná databáza
  • Blockchain v súkromnej sieti Ethereum môže obsahovať súkromné ​​údaje (pretože sieť nie je verejná)
  • Prístup môže byť založený na povolení
  • Realizácia transakcií môže byť bezplatná
  • Účty je možné prideľovať s étermisami, čo nevyžaduje ani nákup virtuálnych éterov

Poďme ďalej na praktickú časť tohto tutoriálu pre súkromnú sieť Ethereum.

Inštalácia Etherea na Ubuntu

Aby sme vytvorili súkromnú sieť Ethereum, musíme najskôr mať v našom systéme nainštalované Ethereum. V tejto časti výučby súkromnej siete Ethereum sa dozviete, ako nainštalovať Ethereum na Ubuntu.

Ak chcete nainštalovať Ethereum, spustite v termináli nasledujúce príkazy:

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

Hotový! Týmto sa do vášho systému nainštaluje Ethereum.

Začnime s vytváraním súkromnej siete.

Demo: Vytvorenie súkromnej siete Ethereum a uskutočnenie transakcie

V tomto výučbe pre privátnu sieť Ethereum pošleme éteryz jedného účtu do druhého a tak potrebujeme účty. Pozrime sa teraz, ako vytvoriť účty pre náš Blockchain.

Vytváranie účtov pre súkromnú sieť Etherea

Pred vytvorením nových účtov si vytvorme nový adresár pre naše pracovisko. Postupujte podľa nasledujúcich príkazov:

$ mkdir private-ethereum $ cd private-ethereum

Na uskutočnenie transakcie potrebujeme najmenej dva účty: príjemca a odosielateľ.

Ak chcete vytvoriť dva účty, dvakrát spustite nasledujúci príkaz:

$ geth --datadir ./datadir účet nový

Zadajte znak prístupová fráza pre každý účet na požiadanie. Nezabudnite na túto prístupovú frázu!

Po úspešnom spustení týchto príkazov sa vytvoria dva účty a na obrazovke sa zobrazí adresa účtu.

Tieto adresy niekam uložte, pretože ich budeme ďalej používať.

Vytvára sa súbor Genesis

Súbor Genesis obsahuje vlastnosti, ktoré definujú Blockchain. Súbor Genesis je východiskovým bodom blockchainu, a preto je nevyhnutné vytvoriť súbor Genesis na vytvorenie blockchainu. Poďme vytvoriť Genesisspis.

Najskôr vytvorte súbor s názvom genesis.json

$ nano genesis.json

A teraz skopírujte a vložte nasledujúci kód do tohto súboru:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'ťažkosti': '400', 'gasLimit': ' 2000000 ',' Alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' zostatok ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' zostatok ':' 120000000000000000000000 '}}}

Poznámka: Vo vyššie uvedenom kóde nahraďte adresu pod alk sekcia s adresou účtov, ktoré ste vytvorili v predchádzajúcom kroku.

Uložte to a ukončite.

Dovoľte mi stručne vysvetliť obsah súboru Genesis:

chainId - Toto je identifikačné číslo reťazca, ktoré sa používa na rozlíšenie medzi blockchainmi
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - tieto vlastnosti súvisia s rozvetvením reťazca a verziou verzií. Pre náš výukový program ich nepotrebujeme, preto ich nastavíme na 0.
obtiažnosť - Toto číslo rozhoduje o tom, aké ťažké budú bloky ťažiť. Pre súkromné ​​siete je dobré nastaviť nižšie číslo, pretože vám umožní rýchle dobývanie blokov, čo vedie k rýchlym transakciám.
gasLimit - Toto číslo predstavuje celkové množstvo plynu, ktoré je možné použiť v každom bloku. Nechceme, aby naša sieť dosiahla limit, preto sme nastavili túto hodnotu vysoko.
alk - Táto časť sa používa na pridelenie éterov k už vytvoreným účtom.

Súbor Genesis je pripravený. Teraz je čas začať Blockchain.

Vytvorenie inštancie dátového adresára

Pred spustením Blockchainu musíme vytvoriť inštanciu dátového adresára. Dátový adresár je adresár, kde sú uložené údaje týkajúce sa blockchainu. Ak chcete vytvoriť inštanciu dátového adresára, spustite nasledujúci príkaz:

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

Po úspešnom vytvorení inštancie by sa mal zobraziť nasledujúci výstup:

S inštanciou dátového adresára môžeme teraz spustiť Blockchain.

Spustenie súkromného blockchainu Ethereum

Blockchain spustíte spustením nasledujúceho príkazu:

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

Hotový! Váš súkromný Ethereum Blockchain je funkčný.

Vo vyššie uvedenom príkaze odosielame všetky protokoly do samostatného súboru s názvom Et.log . Geth automaticky vytvorí nový súbor, ak sa nenájde.

Výstup tohto kódu by mal vyzerať asi takto:

Teraz sme vstúpili do bože konzola kde môžeme spúšťať príkazy pre náš Blockchain.

Čítanie denníkov

V predchádzajúcej časti som spomenul, že protokoly ukladáme do iného súboru. V tejto časti vám poviem, ako načítať protokoly z tohto súboru.

Budeme čítať protokoly zo samostatného terminálu, takže si najskôr otvoríme nový terminál. Najprv,prepnúť na private-ethereum adresára a potom spustite nasledujúci príkaz na prečítanie protokolov:

$ tail -f Eth.log

Teraz môžete vidieť protokoly v termináli. Tieto protokoly sa dynamicky aktualizujú vždy, keď je v blockchaine nejaká aktivita.

Importovanie účtov do súkromnej siete

Možno si pamätáte, že sme na vytvorenie transakcií vytvorili dva účty. Tieto účty sme však do našej siete nepridali. V tejto časti tutoriálu Ethereum Private Network vám teda poviem, ako importovať účty.

Keď vytvoríme účet, všetky podrobnosti o ňom sa uložia v a UTC spis v adresári uvedenom pri vytváraní účtu (cesta: ./datadir/keystore ). Ak chcete importovať účty, musíme tieto súbory skopírovať a vložiť do priečinka sklad kľúčov adresára v adresári údajov(cesta: ./myDataDir/keystore )

To je všetko! Účty sa importujú. Jednoduché, nie? Na overenie importu spustíme nasledujúci príkaz v bože konzola.

> et.účty

Zobrazí sa zoznam všetkých dostupných účtov.

Na kontrolu zostatku na týchto účtoch použijeme nasledujúci príkaz:

> web3.fromWei (eth.getBalance (), 'éter')

Sme pripravení na všetko potrebné na uskutočnenie transakcie. Prečo čakať? Poďme na to!

čo je to virtuálna metóda

Vykonanie transakcie

V tomto návode na používanie privátnej siete Ethereum pošleme niekoľko etherovz jedného účtu na druhý.

Syntax odosielania éterov je nasledovná:

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

Pomocou tohto príkazu odošleme 1 000 éterov z účtu 1 na účet 2:

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

Nepracovali ste? Nerobte si starosti. Nepracoval ani pre mňa. Je to tak preto, lebo účet je predvolene uzamknutý a neumožňuje transakcie.

Najprv teda musíme odomknúť účet odosielateľa. Pamätáte si prístupovú frázu, ktorú ste použili pri vytváraní účtu? Musíte, pretože to budete musieť použiť na odblokovanie účtu. Účet odomkneme nasledujúcim príkazom:

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

Teraz pošleme éteryúspešne:

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

Týmto by sa malo vrátiť ID transakcie.

Hotový! Úspešne ste uskutočnili transakciu!

Na overenie transakcie skontrolujte zostatok na oboch účtoch.

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

Jéj! Vidíme, že 1 000 éterovboli odoslané z jedného účtu do druhého!

Blahoželáme! Vytvorili ste súkromnú sieť Etherea a vykonali transakciu. Dúfam, že tento tutoriál o privátnej sieti Ethereum bol informačný a pomohol vám porozumieť súkromnej sieti Etherea. Teraz pokračujte a vyskúšajte experimentovať s novovytvorenou súkromnou sieťou.

Máte na nás otázku? Zverejnite to prosím a ozveme sa vám.

Ak sa chcete naučiť blockchain a budovať si kariéru v blockchainových technológiách, pozrite sa na naše ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže vyčerpávajúcim spôsobom porozumieť tomu, čo je Blockchain, a pomôže vám dosiahnuť zvládnutie predmetu.