Edellisessä Tryffeli Ethereum -opastus , opit Truffle Suitesta ja kehitit Ethereum DApp. Kehittääksesi monimutkaisen ethereum-sovelluksen, sinun kannattaa suorittaa se yksityisessä verkossa nähdäksesi, miten se toimii ennen sen käyttöönottoa. Joten tässä Ethereum Private Network -opetusohjelmassa opit luomaan Yksityinen Ethereum-verkko ja kuinka tehdä tapahtuma kahden tilin välillä.
Kiinnostaako Ethereumin kehitys? Katso Live .
Ethereumin yksityisen verkon opetusohjelma
Nämä ovat aiheita, joita käsittelen tässä opetusohjelmassa:
- Mikä on Ethereum Private Network?
- Miksi Ethereum Private Network -verkkoa käytetään?
- Ethereum Private Networkin ominaisuudet
- Ethereumin asentaminen Ubuntuun
- Demo: Ethereumin yksityisverkon luominen ja tapahtuman tekeminen
Mikä on Ethereum Private Network?
Ethereum Private Network on täysin yksityinen Blockchain, joka on eristetty Ethereum Main -verkosta. Ethereum Private Network on pääasiassa organisaatioiden luomaa rajoittamaan Blockchainin lukuoikeuksia. Vain solmut, joilla on oikeat käyttöoikeudet, voivat käyttää tätä Blockchainia. Tämän verkon solmut eivät ole yhteydessä pääverkkosolmuihin, ja niiden ulottuvuus on rajoitettu vain tähän yksityiseen lohkoketjuun.
Miksi Ethereum Private Network -verkkoa käytetään?
Organisaatiot käyttävät Ethereum Private Network -verkkoa yksityisten tietojen tallentamiseen, joiden ei pitäisi näkyä organisaation ulkopuolisille ihmisille. Ethereum Private Network -verkkoa käytetään myös Blockchainin testaamiseen ja kokeilemiseen, jos joku ei halua käyttää julkisia testiverkkoja.
Ethereum Private Networkin ominaisuudet
Kuten edellisessä osassa mainittiin, Ethereum Private Network -verkkoa käytetään testaustarkoituksiin. Mutta miksi joku ottaisi vaivaa uuden verkon luomisessa, kun julkisia testausverkkoja on jo käytettävissä? Ethereum Private Networkilla on omat ominaisuutensa, jotka on lueteltu alla:
- Se toimii hajautettuna tietokantana
- Ethereumin yksityisen verkon lohkoketju voi sisältää yksityisiä tietoja (koska verkko ei ole julkinen)
- Käyttöoikeus voi olla lupapohjainen
- Tapahtumien tekeminen voi olla ilmaista
- Tilit voidaan jakaa eettereilläitse, mikä ei edes vaadi virtuaalieetterien ostamista
Siirrymme eteenpäin tämän Ethereum Private Network -opetusohjelman käytännön osaan.
Ethereumin asentaminen Ubuntuun
Ethereumin yksityisen verkon luominen edellyttää, että Ethereum on ensin asennettu järjestelmäämme. Tässä Ethereumin yksityisen verkon opetusohjelman osassa opit Ethereumin asentamisen Ubuntuun.
Asenna Ethereum suorittamalla seuraavat komennot päätelaitteessa:
$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum
Tehty! Tämä asentaa Ethereumin järjestelmääsi.
Aloitetaan yksityisen verkon luomisesta.
Demo: Ethereumin yksityisverkon luominen ja tapahtuman tekeminen
Tässä Ethereumin yksityisen verkon opetusohjelmassa lähetämme eettereitäTarvitsemme tilejä tililtä toiselle. Katsotaan nyt, miten luodaan tilit Blockchainille.
Ethereum Private Network -tilien luominen
Ennen uusien tilien luomista meidän on luotava uusi hakemisto työpaikallemme. Katso tämä alla olevista komennoista:
$ mkdir private-ethereum $ cd private-ethereum
Tapahtuman suorittamiseen tarvitaan vähintään kaksi tiliä: vastaanottaja ja lähettäjä.
Jos haluat luoda kaksi tiliä, suorita seuraava komento kahdesti:
ristiselaimen testaus seleenissä
$ geth --datadir ./datadir -tili uusi
Syötä salasana jokaiselle tilille pyydettäessä. Älä unohda tätä salasanaa!
Kun nämä komennot suoritetaan onnistuneesti, kaksi tiliä luodaan ja tilin osoite näytetään näytöllä.
Tallenna nämä osoitteet jonnekin, koska käytämme niitä edelleen.
Genesis-tiedoston luominen
Genesis-tiedosto sisältää ominaisuudet, jotka määrittävät Blockchainin. Genesis-tiedosto on Blockchainin aloituskohta, joten Genesis-tiedosto on pakollinen luomaan Blockchain. Luodaan nyt 1. Mooseksen kirjatiedosto.
Luo ensin tiedosto nimeltä genesis.json
$ nano genesis.json
Kopioi ja liitä nyt seuraava koodi tiedostoon:
{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'vaikeus': '400', 'gasLimit': ' 2000000 ',' alloko ': {' 82c440bba462220c9b54600e584373014706c177 ': {' saldo ':' 10000000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' saldo '0000
Huomautus: Korvaa yllä olevassa koodissa oleva osoite kohdassa kohdistaa -osiossa edellisessä vaiheessa luomiesi tilien osoite.
Tallenna se ja poistu.
Haluan selittää Genesis-tiedoston sisällön lyhyesti:
ketjuId - Tätä ketjun tunnistenumeroa käytetään erottamaan lohkoketjut
homesteadBlock, eip155Block, eip158Block, bysanttiBlock - nämä ominaisuudet liittyvät ketjun haarautumiseen ja versiointiin. Emme tarvitse näitä opetusohjelmaamme varten, joten asetetaan ne arvoon 0.
vaikeus - Tämä numero päättää, kuinka vaikeaa lohkojen on oltava. Yksityisverkoissa on hyvä asettaa pienempi numero, koska sen avulla voit estää miinan nopeasti, mikä johtaa nopeisiin tapahtumiin.
gasLimit - Tämä luku on kaasun kokonaismäärä, jota voidaan käyttää kussakin lohkossa. Emme halua, että verkkomme ylittää rajan, joten olemme asettaneet tämän korkealle.
kohdistaa - Tätä osaa käytetään jakamaan eetterit jo luotuille tileille.
Genesis-tiedosto on valmis. Nyt on aika aloittaa Blockchain.
Välitön tietohakemisto
Ennen kuin aloitamme Blockchainin, meidän on välitettävä tietohakemisto. Data Directory on hakemisto, johon Blockchainiin liittyvät tiedot tallennetaan. Suorita seuraava komento suorittaaksesi tietohakemiston:
$ geth --datadir ./myDataDir init ./genesis.json
Onnistuneen instantiationin pitäisi nähdä seuraava tulos:
Tietohakemiston instantioinnin avulla voimme nyt käynnistää Blockchainin.
Ethereum Private Blockchainin käynnistäminen
Käynnistä Blockchain suorittamalla seuraava komento:
$ geth --datadir ./myDataDir --networkid 1114 -konsoli 2 >> Eth.log
Tehty! Yksityinen Ethereum Blockchain on käynnissä.
Yllä olevassa komennossa lähetämme kaikki lokit erillisenä tiedostona nimeltä Eth.log . Geth luo automaattisesti uuden tiedoston, jos sitä ei löydy.
Tämän koodin lähdön pitäisi näyttää tältä:
Nyt olemme aloittaneet geth konsoli missä voimme suorittaa komentoja Blockchainille.
Lokien lukeminen
Edellisessä osassa mainitsin, että tallennamme lokit toiseen tiedostoon. Tässä osassa kerron, kuinka voit lukea lokit tästä tiedostosta.
Luemme lokit erillisestä päätelaitteesta, joten ensin avataan uusi pääte. Ensimmäinen,vaihda yksityinen ethereum ja suorita seuraava komento lukeaksesi lokit:
$ tail -f Eth.log
Nyt näet lokit päätelaitteessa. Nämä lokit päivitetään dynaamisesti aina, kun Blockchainissa on jonkin verran toimintaa.
Tuodaan tilejä yksityiseen verkkoon
Muistat, että olemme luoneet kaksi tiliä tapahtumien suorittamista varten. Emme kuitenkaan lisänneet näitä tilejä verkkoomme. Joten tässä Ethereum Private Network -opetusohjelman osassa kerron sinulle, kuinka tilit tuodaan.
Kun luot tilin, kaikki tilin tiedot tallennetaan a UTC tiedosto tilin luomisen yhteydessä mainitussa hakemistossa (polku: ./datadir/keystore ). Tilien tuomiseksi meidän on kopioitava nämä tiedostot ja liitettävä ne avainvarasto Data Directory -hakemistossa(polku: ./myDataDir/keystore )
Siinä kaikki! Tilit tuodaan. Yksinkertainen, eikö olekin? Tuonnin vahvistamiseksi suoritamme seuraavan komennon geth konsoli.
> eth. tilit
Tämä näyttää luettelon kaikista käytettävissä olevista tileistä.
Tarkistamme näiden tilien saldon seuraavalla komennolla:
> web3.fromWei (eth.getBalance (), 'eetteri')
Olemme valmiita kaikkeen, mikä tarvitaan tapahtuman suorittamiseen. Miksi odottaa? Tehdään se!
Tapahtuman tekeminen
Tässä Ethereum Private Network -opetusohjelmassa lähetämme joitain eettereitätililtä toiselle.
Eetterien lähettämisen syntaksi on seuraava:
> eth.sendTransaction ({from: 'address', to: 'address', arvo: web3.toWei (määrä, 'eetteri')})
Lähetämme 1000 eetteriä tililtä 1 tilille 2 seuraavan komennon avulla:
> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], arvo: web3.toWei (1000, 'eetteri')})
Eikö toimi? Älä huoli. Ei toiminut myös minulle. Tämä johtuu siitä, että tili on oletusarvoisesti lukittu eikä salli tapahtumia.
Joten ensin on avattava lähettäjän tili. Muistatko salasanan, jota käytit tilin luomisen yhteydessä? No, sinun täytyy, koska sinun on käytettävä sitä tilin lukituksen avaamiseen. Avaamme tilin lukituksen seuraavalla komennolla:
personal.unlockAccount (et. tilit [0], '')
Nyt lähetämme eettereitäonnistuneesti:
> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], arvo: web3.toWei (1000, 'eetteri')})
Tämän pitäisi palauttaa tapahtuman tunnus.
Tehty! Olet suorittanut tapahtuman onnistuneesti!
Tarkista tapahtuma tarkistamalla molempien tilien saldo.
> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'eetteri')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'eetteri')
Jee! Voimme nähdä, että 1000 eetteriälähetettiin tililtä toiselle!
Onnittelut! Olet luonut Ethereumin yksityisverkon ja suorittanut tapahtuman. Toivon, että tämä Ethereum Private Network -opetusohjelma oli informatiivinen ja auttoi sinua ymmärtämään Ethereum Private Network -verkkoa. Mene eteenpäin ja kokeile kokeilla äskettäin luotua yksityistä verkkoa.
Onko sinulla kysymys meille? Ole hyvä ja lähetä se ja palaamme sinuun.
Jos haluat oppia Blockchainia ja rakentaa uraa Blockchain Technologiesissa, tutustu meidän joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa sinua ymmärtämään tyhjentävästi Blockchainia ja auttaa sinua hallitsemaan aihetta.