„Ethereum“ privatus tinklas - sukurkite savo „Ethereum Blockchain“!

Šioje „Ethereum Private Network“ pamokoje sužinosite, kaip susikurti savo „Ethereum Blockchain“ ir kaip atlikti operaciją tarp dviejų sąskaitų.

Ankstesniame Trumų Ethereum pamoka , sužinojote apie „Truffle Suite“ ir sukūrėte Ethereum DApp. Norėdami sukurti sudėtingą „ethereum“ programą, norėsite ją paleisti privačiame tinkle, kad pamatytumėte, kaip ji veikia, prieš diegdami. Taigi, šioje „Ethereum“ privataus tinklo pamokoje sužinosite, kaip sukurti Privatus „Ethereum“ tinklas ir kaip atlikti operaciją tarp dviejų sąskaitų.

Domina „Ethereum“ plėtra? Peržiūrėkite „Live“ .





„Ethereum“ privataus tinklo pamoka

Šioje temoje aptarsiu šią pamoką:

Kas yra privatus tinklas „Ethereum“?

„Ethereum“ privatus tinklas yra visiškai privatus „Blockchain“, kuris yra izoliuotas nuo pagrindinio „Ethereum“ tinklo. „Ethereum“ privatų tinklą daugiausia kuria organizacijos, norėdamos apriboti „Blockchain“ skaitymo teises. Tik tie mazgai, turintys reikiamus leidimus, galės pasiekti šią „Blockchain“. Šio tinklo mazgai nėra prijungti prie pagrindinių tinklo mazgų ir jų pasiekiamumas ribojamas tik šiam privačiam „Blockchain“.



Privatus ir viešas -Ethereum privataus tinklo pamoka - „Edureka“

Kodėl naudojamas privatus „Ethereum“ tinklas?

„Ethereum Private Network“ organizacijos naudoja privatiems duomenims saugoti, kurie neturėtų būti matomi žmonėms už jų organizacijos ribų. „Ethereum Private Network“ taip pat naudojamas „Blockchain“ bandymams ir eksperimentams atlikti, jei kas nors nenori naudotis viešais testavimo tinklais.

„Ethereum“ privataus tinklo ypatybės

Kaip minėta ankstesniame skyriuje, „Ethereum Private Network“ naudojamas bandymų tikslais. Bet kodėl kas nors imtųsi problemų kurdamas naują tinklą, kai jau yra viešų testavimo tinklų? Na, „Ethereum Private Network“ turi savo funkcijų rinkinį, išvardytą toliau:



  • Jis veikia kaip paskirstyta duomenų bazė
  • „Ethereum“ privataus tinklo „blockchain“ gali būti asmeninių duomenų (nes tinklas nėra viešas)
  • Prieiga gali būti pagrįsta leidimais
  • Sandorių sudarymas gali būti nemokamas
  • Sąskaitos gali būti skiriamos su eteriaismums net nereikia pirkti virtualių eterių

Pereikime prie šios „Ethereum Private Network“ pamokos praktinės dalies.

„Ethereum“ diegimas „Ubuntu“

Norėdami sukurti privatų „Ethereum“ tinklą, pirmiausia savo sistemoje turime įdiegti „Ethereum“. Šiame „Ethereum Private Network Tutorial“ skyriuje sužinosite, kaip įdiegti „Ethereum“ į „Ubuntu“.

Norėdami įdiegti „Ethereum“, vykdykite šias komandas terminale:

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

Padaryta! Tai įdiegs „Ethereum“ jūsų sistemoje.

Pradėkime nuo privataus tinklo kūrimo.

Demonstracija: „Ethereum“ privataus tinklo sukūrimas ir operacijos atlikimas

Šioje „Ethereum“ privataus tinklo instrukcijoje mes išsiųsime eteriusiš vienos sąskaitos į kitą ir taip, mums reikia sąskaitų. Pažiūrėkime, kaip sukurti „Blockchain“ paskyras.

„Ethereum“ privataus tinklo sąskaitų kūrimas

Prieš kurdami naujas paskyras, sukurkime naują katalogą savo darbo vietai. Norėdami tai padaryti, žiūrėkite toliau pateiktas komandas:

$ mkdir private-ethereum $ cd private-ethereum

Norint atlikti operaciją, mums reikia bent dviejų sąskaitų: imtuvo ir siuntėjo.

Norėdami sukurti dvi paskyras, dukart vykdykite šią komandą:

$ geth --datadir ./datadir paskyra nauja

Įveskite slaptafrazė kiekvienai sąskaitai paprašius. Nepamirškite šios slaptafrazės!

Kai šios komandos bus sėkmingai vykdomos, bus sukurtos dvi paskyros ir ekrane bus rodomas paskyros adresas.

kaip įdiegti php langus

Šiuos adresus išsaugokite kažkur, nes juos naudosime toliau.

Kurti Pradžios failą

„Genesis“ faile yra ypatybės, apibrėžiančios „Blockchain“. „Genesis“ failas yra „Blockchain“ pradžios taškas, todėl norint sukurti „Blockchain“, būtina sukurti „Genesis“ failą. Dabar sukurkime Pradžios knygąfailą.

Pirmiausia sukurkite failą pavadinimu genezė.json

$ nano genezė.json

Dabar nukopijuokite ir įklijuokite šį kodą į tą failą:

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

Pastaba: Pirmiau pateiktame kode pakeiskite adresą skirti skyriuje su paskyrų, kurias sukūrėte atlikdami ankstesnį veiksmą, adresą.

Išsaugokite jį ir išeikite.

Leiskite man trumpai paaiškinti „Genesis“ bylos turinį:

chainId - Tai yra grandinės identifikavimo numeris, naudojamas atskirti „Blockchains“
homesteadBlock, eip155Block, eip158Block, bizantijosBlock - šios savybės yra susijusios su grandinės šakėmis ir versijomis. Mums jų nereikia mokant, todėl nustatykime juos į 0.
sunkumų - Šis skaičius nusprendžia, kaip sunku bus blokus išminuoti. Privatiems tinklams naudinga nustatyti mažesnį skaičių, nes tai leidžia greitai užblokuoti, o tai lemia greitas operacijas.
„gasLimit“ - Šis skaičius yra bendras dujų kiekis, kurį galima naudoti kiekviename bloke. Nenorime, kad mūsų tinklas pasiektų ribą, todėl nustatėme šį aukštą lygį.
skirti - Ši dalis naudojama paskirstyti eterius jau sukurtoms paskyroms.

„Genesis“ failas paruoštas. Dabar atėjo laikas pradėti „Blockchain“.

Duomenų katalogo inicijavimas

Prieš pradėdami „Blockchain“, turime iš karto sukurti duomenų katalogą. Duomenų katalogas yra katalogas, kuriame saugomi su „Blockchain“ susiję duomenys. Norėdami supaprastinti duomenų katalogą, vykdykite šią komandą:

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

Sėkmingai akimirksniu turėtumėte pamatyti šį išvestį:

Ištaisinus duomenų katalogą, dabar galime paleisti „Blockchain“.

„Ethereum Private Blockchain“ paleidimas

Norėdami paleisti „Blockchain“, vykdykite šią komandą:

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

Padaryta! Jūsų privatus „Ethereum Blockchain“ veikia ir veikia.

Pirmiau pateiktoje komandoje mes siunčiame visus žurnalus į atskirą failą, vadinamą Eth.log . „Geth“ automatiškai sukurs naują failą, jei jo nebus.

Šio kodo išvestis turėtų atrodyti maždaug taip:

Dabar mes įvedėme geth konsolė kur galime vykdyti komandas savo „Blockchain“.

Skaityti žurnalus

Ankstesniame skyriuje minėjau, kad žurnalus saugome kitame faile. Šiame skyriuje aš jums pasakysiu, kaip skaityti žurnalus iš šio failo.

Skaitysime žurnalus iš atskiro terminalo, todėl pirmiausia atidarykime naują terminalą. Pirmas,perjungti į private-ethereum katalogą ir paleiskite šią komandą, norėdami perskaityti žurnalus:

$ tail -f Eth.log

Dabar terminale galite pamatyti žurnalus. Šie žurnalai dinamiškai atnaujinami, kai „Blockchain“ yra tam tikra veikla.

Sąskaitų importavimas į privatų tinklą

Galite prisiminti, kad mes sukūrėme dvi sąskaitas, kad atliktume operacijas. Tačiau mes nepridėjome šių paskyrų prie savo tinklo. Taigi, šiame „Ethereum Private Network“ pamokos skyriuje aš jums pasakysiu, kaip importuoti sąskaitas.

Kai sukursime paskyrą, visa paskyros informacija bus saugoma a UTC failą kataloge, minėtame kuriant paskyrą (kelias: ./datadir/keystore ). Norėdami importuoti paskyras, turime nukopijuoti šiuos failus ir įklijuoti į raktų parduotuvė kataloge, esančiame Duomenų kataloge(kelias: ./myDataDir/keystore )

Tai viskas! Sąskaitos yra importuojamos. Paprasta, ar ne? Norėdami patikrinti importavimą, vykdysime šią komandą geth konsolė.

> et. sąskaitos

Tai parodys visų galimų paskyrų sąrašą.

Norėdami patikrinti šių sąskaitų likutį, naudosime šią komandą:

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

Mes pasiruošę viskam, ko reikia sandoriui atlikti. Kodėl reikia laukti? Padarykime tai!

Sandorio atlikimas

Šioje „Ethereum“ privataus tinklo pamokoje mes atsiųsime keletą eteriųiš vienos sąskaitos į kitą.

Eterių siuntimo sintaksė yra tokia:

> eth.sendTransaction ({nuo: 'adresas', į: 'adresas', vertė: web3.toWei (suma, 'eteris')})

Mes išsiųsime 1000 eterių iš 1 paskyros į 2 sąskaitą naudodami šią komandą:

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

Neveikė? Nesijaudink. Netiko ir man. Taip yra todėl, kad paskyra yra užrakinta pagal numatytuosius nustatymus ir neleidžia atlikti operacijų.

Taigi, pirmiausia turime atrakinti siuntėjo sąskaitą. Prisimenate slaptafrazę, kurią naudojote kurdami paskyrą? Na, jūs turite, nes turėsite tai naudoti norėdami atrakinti sąskaitą. Mes atrakinsime paskyrą naudodami šią komandą:

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

Dabar mes atsiųsime eteriussėkmingai:

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

Tai turėtų grąžinti operacijos ID.

Padaryta! Jūs sėkmingai atlikote operaciją!

Norėdami patikrinti operaciją, patikrinkime abiejų sąskaitų likutį.

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

Valio! Mes galime pamatyti, kad 1000 eteriųbuvo išsiųsti iš vienos sąskaitos į kitą!

Sveikiname! Jūs sukūrėte privatų „Ethereum“ tinklą ir atlikote operaciją. Tikiuosi, kad ši „Ethereum Private Network“ pamoka buvo informatyvi ir padėjo jums suprasti apie „Ethereum Private Network“. Dabar pirmyn ir bandykite eksperimentuoti su naujai sukurtu privačiu tinklu.

Turite mums klausimą? Prašau paskelbti ir mes su jumis susisieksime.

Jei norite išmokti „Blockchain“ ir kurti „Blockchain Technologies“ karjerą, patikrinkite mūsų kuris ateina su instruktorių vedamomis tiesioginėmis treniruotėmis ir realių projektų patirtimi. Šie mokymai padės jums išsamiai suprasti, kas yra „Blockchain“, ir padės jums įsisavinti šį dalyką.