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?
- Miks kasutatakse Ethereumi eravõrku?
- Ethereumi eravõrgu omadused
- Ethereumi installimine Ubuntu
- Demo: Ethereumi eravõrgu loomine ja tehingu tegemine
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.
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.