Ethereumi privaatne võrk - looge oma Ethereumi plokiahel!



Selles Ethereumi eravõrgu õpetuses saate teada, kuidas luua oma Ethereumi plokiahelat ja kuidas kahe konto vahel tehingut teha.

Eelmises Trühvli Ethereumi õpetus , õppisite Truffle Suite'i kohta ja arendasite välja Ethereum DApp. Keerulise ethereumi rakenduse väljatöötamiseks peate selle enne selle juurutamist käitama privaatvõrgus, et näha, kuidas see töötab. Niisiis, selles Ethereumi eravõrgu õpetuses saate teada, kuidas luua Privaatne Ethereumi võrk ja kuidas teha tehingut kahe konto vahel.

Kas olete huvitatud Ethereumi arendamisest? Vaadake Live'i .





Ethereumi eravõrgu õpetus

Need on teemad, mida selles õpetuses käsitlen:

Mis on Ethereumi eravõrk?

Ethereumi eravõrk on täiesti privaatne Blockchain, mis on eraldatud Ethereumi põhivõrgust. Ethereumi eravõrgu loovad peamiselt organisatsioonid, et piirata Blockchaini lugemisõigusi. Sellele Blockchainile pääsevad juurde ainult õigete õigustega sõlmed. Selle võrgu sõlmed pole põhivõrgu sõlmedega ühendatud ja nende leviala on piiratud ainult selle privaatse Blockchainiga.



Privaatne ja avalik -Ethereumi eravõrgu õpetus - Edureka

Miks kasutatakse Ethereumi eravõrku?

Ethereumi eravõrku kasutavad organisatsioonid privaatsete andmete salvestamiseks, mis ei peaks olema väljaspool nende organisatsiooni asuvatele inimestele nähtav. Ethereumi privaatvõrku kasutatakse ka Blockchaini testimiseks ja katsetamiseks, kui keegi ei soovi avalikke testivõrke kasutada.

Ethereumi eravõrgu omadused

Nagu eelmises osas mainitud, kasutatakse testimiseks Ethereumi eravõrku. Kuid miks peaks keegi vaeva nägema uue võrgu loomisega, kui avalikud testimisvõrgud on juba saadaval? Noh, Ethereumi eravõrgul on oma allpool loetletud funktsioonide komplekt:



  • See toimib hajutatud andmebaasina
  • Ethereumi eravõrgu plokiahel võib sisaldada isiklikke andmeid (kuna võrk pole avalik)
  • Juurdepääs võib olla loa-põhine
  • Tehingute tegemine võib olla tasuta
  • Kontosid saab eraldada eetritegaise, mis ei nõua isegi virtuaalsete eetrite ostmist

Edasi liikudes tutvume selle Ethereumi eravõrgu õpetuse praktilise osaga.

Ethereumi installimine Ubuntu

Ethereumi eravõrgu loomiseks peame esmalt oma süsteemi installima Ethereumi. Selles Ethereumi eravõrguõpetuse jaotises saate teada, kuidas Ethereumit Ubuntu installida.

Ethereumi installimiseks käivitage terminalis järgmised käsud:

$ sudo apt-get install tarkvara-omadused-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Valmis! See installib Ethereumi teie süsteemi.

Alustame eravõrgu loomisega.

Demo: Ethereumi eravõrgu loomine ja tehingu tegemine

Selles Ethereumi eravõrgu õpetuses saadame eetridühelt kontolt teisele ja nii, vajame kontosid. Vaatame nüüd, kuidas oma Blockchaini jaoks kontosid luua.

Ethereumi eravõrgu jaoks kontode loomine

Enne uute kontode loomist looge oma töökohale uus kataloog. Selleks lugege allolevaid käske:

$ mkdir private-ethereum $ cd private-ethereum

Tehingu tegemiseks vajame vähemalt kahte kontot: vastuvõtjat ja saatjat.

Kahe konto loomiseks käivitage järgmine käsk kaks korda:

$ geth --datadir ./datadir konto uus

Sisestage parool iga konto jaoks, kui seda küsitakse. Ärge unustage seda parooli!

Kui need käsud on edukalt käivitatud, luuakse kaks kontot ja konto aadress kuvatakse ekraanil.

Salvestage need aadressid kuhugi, sest me kasutame neid ka edaspidi.

Genesis-faili loomine

Genesise fail sisaldab omadusi, mis määratlevad Blockchaini. Genesise fail on Blockchaini alguspunkt ja seega on Blockchaini loomiseks kohustuslik luua Genesise fail. Nüüd loome 1. Moosese raamatufaili.

Kõigepealt looge fail nimega genesis.json

pmi-acp on seda väärt
$ nano genesis.json

Nüüd kopeerige ja kleepige faili järgmine kood:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'raskus': '400', 'gasLimit': ' 2000000 ',' allkirja ': {' 82c440bba462220c9b54600e584373014706c177 ': {' saldo ':' 10000000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance '0000

Märge: Asendage ülaltoodud kood all olev aadress eraldama jaotises eelmises etapis loodud kontode aadress.

Salvestage see ja väljuge.

Lubage mul lühidalt selgitada Genesise faili sisu:

chainId - See on ahela identifitseerimisnumber, mida kasutatakse Blockchainide eristamiseks
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - need omadused on seotud ahelahvlite ja versioonidega. Me ei vaja neid oma õpetuse jaoks, seega määragem neile 0.
raskused - See number otsustab, kui keerulised on plokid minu kaevandamisel. Eravõrkude puhul on hea seada väiksem arv, kuna see võimaldab teil kiiresti miiniblokeerida, mille tulemuseks on kiired tehingud.
gasLimit - See arv on igas plokis kasutatava gaasi üldkogus. Me ei taha, et meie võrk ületaks piiri, seega oleme selle kõrge seadnud.
eraldama - Seda osa kasutatakse eetrite eraldamiseks juba loodud kontodele.

Genesise fail on valmis. Nüüd on aeg käivitada Blockchain.

Andmekataloogi käivitamine

Enne Blockchaini käivitamist peame andmekataloogi instantsima. Andmekataloog on kataloog, kuhu salvestatakse Blockchainiga seotud andmed. Andmekataloogi kiirendamiseks käivitage järgmine käsk:

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

Eduka kohese kuvamise korral peaksite nägema järgmist väljundit:

Kui andmekataloog on kohandatud, saame nüüd käivitada Blockchaini.

Ethereum Private Blockchaini käivitamine

Blockchaini käivitamiseks käivitage järgmine käsk:

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

Valmis! Teie privaatne Ethereumi plokiahel on töökorras.

Ülaltoodud käsus saadame kõik logid eraldi faili nimega Eth.log . Geth loob automaatselt uue faili, kui seda ei leita.

kuidas javas volitusi teha

Selle koodi väljund peaks välja nägema umbes selline:

Nüüd oleme sõlminud geth konsool kus saame käitada oma Blockchaini käske.

Logide lugemine

Eelmises jaotises mainisin, et salvestame logisid teise faili. Selles jaotises ütlen teile, kuidas sellest failist logisid lugeda.

Loeme logisid eraldi terminalist, nii et avame kõigepealt uue terminali. Esiteksvahetada era-ethereum kataloog ja seejärel käivitage logide lugemiseks järgmine käsk:

$ tail -f Eth.log

Nüüd näete logisid terminalis. Neid logisid värskendatakse dünaamiliselt alati, kui Blockchainis on mingit tegevust.

Kontode importimine privaatvõrku

Võib-olla mäletate, et lõime tehingute tegemiseks kaks kontot. Kuid me ei lisanud neid kontosid oma võrku. Niisiis, selles Ethereumi eravõrgu õpetuse jaotises ütlen teile, kuidas kontosid importida.

Kui loome konto, salvestatakse kõik konto üksikasjad a UTC faili konto loomisel mainitud kataloogis (tee: ./datadir/keystore ). Kontode importimiseks peame need failid kopeerima ja kleepima võtmehoidla andmekataloogi all olev kataloog(tee: ./myDataDir/keystore )

See on kõik! Kontod imporditakse. Lihtne, kas pole? Impordi kontrollimiseks käivitame jaotises järgmise käsu geth konsool.

> et. arvestused

See näitab kõigi saadaolevate kontode loendit.

Nende kontode saldo kontrollimiseks kasutame järgmist käsku:

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

Oleme valmis tehingu tegemiseks kõik vajalikuks. Miks oodata? Teeme seda!

Tehingu tegemine

Selles Ethereumi eravõrgu õpetuses saadame mõned eetridühelt kontolt teisele.

Eetrite saatmise süntaks on järgmine:

> eth.sendTransaction ({from: 'address', to: 'address', väärtus: web3.toWei (summa, 'eeter')})

Saadame 1000 eetrit kontolt 1 kontole 2 järgmise käsuga:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], väärtus: web3.toWei (1000, 'eeter')})

Ei töötanud? Ärge muretsege. Ei töötanud ka minu jaoks. Seda seetõttu, et konto on vaikimisi lukustatud ja ei võimalda tehinguid.

Nii et kõigepealt peame saatja konto avama. Kas mäletate konto loomisel kasutatud parooli? Peate, sest peate seda konto avamiseks kasutama. Avame konto järgmise käsuga:

personal.unlockAccount (eet.kontod [0], '')

Nüüd saadame eetridedukalt:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], väärtus: web3.toWei (1000, 'eeter')})

See peaks tagastama tehingu ID.

Valmis! Olete edukalt tehingu teinud!

Tehingu kinnitamiseks kontrollime mõlema konto saldot.

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

Jah! Näeme, et 1000 eetritsaadeti ühelt kontolt teisele!

Palju õnne! Olete loonud Ethereumi eravõrgu ja teinud tehingu. Loodan, et see Ethereumi eravõrgu õpetus oli informatiivne ja aitas teil mõista Ethereumi eravõrgu kohta. Nüüd jätkake ja proovige katsetada vastloodud privaatvõrku.

Kas teil on meile küsimus? Palun postitage see aadressile ja me pöördume teie poole.

Kui soovite õppida Blockchaini ja luua karjääri Blockchain Technologies'is, vaadake meie mis on varustatud juhendajate juhitud elava koolituse ja reaalse elu projektikogemusega. See koolitus aitab teil ammendavalt mõista, mis on Blockchain, ja aitab teil selle teema üle meisterlikkust saavutada.