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“?
- Kodėl naudojamas privatus „Ethereum“ tinklas?
- „Ethereum“ privataus tinklo ypatybės
- „Ethereum“ diegimas „Ubuntu“
- Demonstracija: „Ethereum“ privataus tinklo sukūrimas ir operacijos atlikimas
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“.
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ą.