Ethereum privātais tīkls - izveidojiet savu Ethereum Blockchain!



Šajā Ethereum privātā tīkla apmācībā jūs uzzināsiet, kā izveidot savu Ethereum Blockchain un kā veikt darījumu starp diviem kontiem.

Iepriekšējā Trifeļu Ethereum apmācība , jūs uzzinājāt par Trifeļu komplektu un izveidojāt Ethereum DApp. Lai izstrādātu sarežģītu ethereum lietojumprogrammu, pirms tās izvietošanas vēlaties to palaist privātā tīklā, lai pārliecinātos, kā tas darbojas. Tātad, šajā Ethereum privātā tīkla apmācībā jūs uzzināsiet, kā izveidot Privātais Ethereum tīkls un kā veikt darījumu starp diviem kontiem.

Vai jūs interesē Ethereum izstrāde? Pārbaudiet Live .





Ethereum privātā tīkla apmācība

Šīs tēmas es apskatīšu šajā apmācībā:

Kas ir Ethereum privātais tīkls?

Ethereum privātais tīkls ir pilnīgi privāts Blockchain, kas ir izolēts no galvenā Ethereum tīkla. Ethereum privāto tīklu galvenokārt izveido organizācijas, lai ierobežotu Blockchain lasīšanas atļaujas. Tikai mezgli ar pareizām atļaujām varēs piekļūt šai Blockchain. Mezgli šajā tīklā nav savienoti ar galvenajiem tīkla mezgliem, un to sasniedzamība ir ierobežota tikai ar šo privāto Blockchain.



Privātā un publiskā -Ethereum privātā tīkla apmācība - Edureka

Kāpēc tiek izmantots Ethereum privātais tīkls?

Ethereum privāto tīklu organizācijas izmanto privātu datu glabāšanai, kas nedrīkst būt redzami cilvēkiem ārpus viņu organizācijas. Ethereum Private Network tiek izmantots arī Blockchain testēšanai un eksperimentēšanai, ja kāds nevēlas izmantot publiskos testēšanas tīklus.

python def __init __ (pats)

Ethereum privātā tīkla iezīmes

Kā minēts iepriekšējā sadaļā, Ethereum Private Network tiek izmantots testēšanas vajadzībām. Bet kāpēc gan kādam būtu jācenšas radīt jaunu tīklu, ja jau ir pieejami publiski testēšanas tīkli? Ethereum privātajam tīklam ir savs zemāk uzskaitīto funkciju kopums:



  • Tas darbojas kā izplatīta datu bāze
  • Ethereum privātā tīkla blokķēde var saturēt privātus datus (jo tīkls nav publisks)
  • Piekļuve var būt balstīta uz atļaujām
  • Darījumu veikšana var būt bez maksas
  • Kontus var piešķirt ar ēteriemmēs pat neprasām pirkt virtuālos ēterus

Turpinot darbu, apskatīsim šīs Ethereum privātā tīkla apmācības praktisko daļu.

Ethereum instalēšana Ubuntu

Lai izveidotu Ethereum privāto tīklu, vispirms mūsu sistēmā ir jābūt instalētam Ethereum. Šajā Ethereum privātā tīkla apmācības sadaļā jūs uzzināsiet, kā instalēt Ethereum Ubuntu.

Lai instalētu Ethereum, izpildiet šādas komandas terminālā:

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

Gatavs! Tas instalēs jūsu sistēmā Ethereum.

Sāksim ar privātā tīkla izveidi.

Demonstrācija: Ethereum privātā tīkla izveide un darījuma veikšana

Šajā Ethereum privātā tīkla apmācībā mēs nosūtīsim ēterusno viena konta uz citu, un tāpēc mums ir nepieciešami konti. Apskatīsim, kā izveidot kontus mūsu Blockchain.

Kontu izveidošana privātajam tīklam Ethereum

Pirms jaunu kontu izveidošanas izveidosim jaunu direktoriju savai darbavietai. Lai to izdarītu, skatiet tālāk norādītās komandas:

$ mkdir private-ethereum $ cd private-ethereum

Lai veiktu darījumu, mums ir nepieciešami vismaz divi konti: uztvērējs un sūtītājs.

Lai izveidotu divus kontus, divreiz izpildiet šo komandu:

$ geth --datadir ./datadir konts jauns

Ievadiet parole katram kontam, kad tiek prasīts. Neaizmirstiet šo ieejas frāzi!

Kad šīs komandas būs veiksmīgi izpildītas, tiks izveidoti divi konti un konta adrese tiks parādīta ekrānā.

Saglabājiet šīs adreses kaut kur, jo mēs tās izmantosim tālāk.

Genesis faila izveide

Genesis failā ir īpašības, kas nosaka Blockchain. Genesis fails ir Blockchain sākumpunkts, un tāpēc ir obligāti jāizveido Genesis fails, lai izveidotu Blockchain. Tagad izveidosim 1. Mozus grāmatufailu.

Vispirms izveidojiet failu ar nosaukumu ģenēze.json

$ nano ģenēze.json

Tagad nokopējiet un ielīmējiet šajā failā šādu kodu:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'grūtības': '400', 'gasLimit': ' 2000000 ',' piešķirt ': {' 82c440bba462220c9b54600e584373014706c177 ': {' atlikums ':' 10000000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca '' {'balance '0000 '0000

Piezīme: Iepriekš minētajā kodā aizstājiet adresi zem piešķirt sadaļā ar iepriekšējā darbībā izveidoto kontu adresi.

Saglabājiet to un izejiet.

Ļaujiet man īsumā paskaidrot Genesis faila saturu:

chainId - Tas ir ķēdes identifikācijas numurs, ko izmanto, lai atšķirtu Blockchains
homesteadBlock, eip155Block, eip158Block, bizantijasBlock - šīs īpašības ir saistītas ar ķēdes dakšu un versiju izgatavošanu. Tie nav nepieciešami mūsu apmācībai, tāpēc iestatīsim tos uz 0.
grūtības - Šis skaitlis izlemj, cik grūti bloki būs manējie. Privātajiem tīkliem ir labi iestatīt mazāku skaitli, jo tas ļauj ātri bloķēt raktuves, kā rezultātā tiek veikti ātri darījumi.
gasLimit - Šis skaitlis ir kopējais gāzes daudzums, ko var izmantot katrā blokā. Mēs nevēlamies, lai mūsu tīkls pārsniegtu robežu, tāpēc esam iestatījuši šo augsto līmeni.
piešķirt - Šī daļa tiek izmantota, lai piešķirtu ēterus jau izveidotajiem kontiem.

Genesis fails ir gatavs. Tagad ir pienācis laiks sākt Blockchain.

Tūlītēja datu direktorija

Pirms sākat darbu ar Blockchain, mums ir jāpaātrina datu direktorija. Datu katalogs ir direktorijs, kurā tiek glabāti ar Blockchain saistītie dati. Lai piemērotu datu direktoriju, izpildiet šādu komandu:

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

Veiksmīgas instantēšanas gadījumā jums vajadzētu redzēt šādu izvadi:

Izmantojot datu direktoriju, mēs tagad varam sākt Blockchain.

Sākot Ethereum Private Blockchain

Lai palaistu Blockchain, palaidiet šādu komandu:

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

Gatavs! Jūsu privātā Ethereum Blockchain ir izveidota un darbojas.

Iepriekš minētajā komandā mēs visus žurnālus sūtām atsevišķā failā ar nosaukumu Eth.log . Gets automātiski izveidos jaunu failu, ja tas netiks atrasts.

Šī koda izvadei vajadzētu izskatīties apmēram šādi:

Tagad mēs esam iekļāvušies geth konsole kur mēs varam izpildīt komandas savam Blockchain.

Žurnālu lasīšana

Iepriekšējā sadaļā es minēju, ka žurnālus mēs glabājam citā failā. Šajā sadaļā es jums pastāstīšu, kā lasīt žurnālus no šī faila.

java klases instances dati

Mēs lasīsim žurnālus no atsevišķa termināļa, tāpēc vispirms atveram jaunu termināli. Pirmkārt,pārslēgties uz private-ethereum direktoriju un pēc tam palaidiet šādu komandu, lai lasītu žurnālus:

$ tail -f Eth.log

Tagad jūs varat redzēt žurnālus terminālā. Šie žurnāli tiek dinamiski atjaunināti ikreiz, kad Blockchain notiek kāda darbība.

Kontu importēšana privātajā tīklā

Jūs atceraties, ka mēs izveidojām divus kontus, lai veiktu darījumus. Bet mēs šos kontus nepievienojām savam tīklam. Tātad šajā Ethereum privātā tīkla apmācības sadaļā es jums pastāstīšu, kā importēt kontus.

Kad mēs izveidojam kontu, visa konta informācija tiek saglabāta a UTC failu direktorijā, kas minēta konta izveidošanas laikā (ceļš: ./datadir/keystore ). Lai importētu kontus, mums šie faili ir jākopē un jāielīmē atslēgu veikals direktoriju Datu direktorijā(ceļš: ./myDataDir/keystore )

Tas ir viss! Konti tiek importēti. Vienkārši, vai ne? Lai pārbaudītu importēšanu, mēs izpildīsim šādu komandu geth konsole.

> et.konti

Tas parādīs visu pieejamo kontu sarakstu.

Lai pārbaudītu šo kontu atlikumu, mēs izmantosim šādu komandu:

> web3.fromWei (eth.getBalance (), 'ēteris')

Mēs esam gatavi ar visu nepieciešamo darījuma veikšanai. Kāpēc jāgaida? Darīsim to!

Darījuma veikšana

Šajā Ethereum privātā tīkla apmācībā mēs nosūtīsim dažus ēterusno viena konta uz citu.

Ēteru sūtīšanas sintakse ir šāda:

> eth.sendTransaction ({no: ”adrese”, uz: “adrese”, vērtība: web3.toWei (summa, “ēteris”)})

Mēs nosūtīsim 1000 ēterus no 1. konta uz 2. kontu, izmantojot šādu komandu:

> eth.sendTransaction ({no: eth.accounts [0], uz: eth.accounts [1], vērtība: web3.toWei (1000, 'ether')})

Nestrādāja? Neuztraucieties. Nestrādāja arī man. Tas ir tāpēc, ka konts pēc noklusējuma ir bloķēts un neļauj veikt darījumus.

Tātad, vispirms mums jāatslēdz sūtītāja konts. Vai atceraties paroli, kuru izmantojāt, veidojot kontu? Jums tas jādara, jo tas būs jāizmanto, lai atbloķētu kontu. Mēs atbloķēsim kontu ar šādu komandu:

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

Tagad mēs nosūtīsim ēterusveiksmīgi:

> eth.sendTransaction ({no: eth.accounts [0], uz: eth.accounts [1], vērtība: web3.toWei (1000, 'ether')})

Tam vajadzētu atgriezt darījuma ID.

Gatavs! Jūs esat veiksmīgi veicis darījumu!

Lai pārbaudītu darījumu, pārbaudīsim atlikumu abos kontos.

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

Jā! Mēs varam redzēt, ka 1000 ēteritika nosūtīti no viena konta uz citu!

Apsveicam! Jūs esat izveidojis Ethereum privāto tīklu un veicis darījumu. Es ceru, ka šī Ethereum privātā tīkla apmācība bija informatīva un palīdzēja jums saprast par Ethereum privāto tīklu. Tagad dodieties uz priekšu un mēģiniet eksperimentēt ar jaunizveidoto privāto tīklu.

Vai mums ir jautājums? Lūdzu, ievietojiet to vietnē un mēs sazināsimies ar jums.

Ja vēlaties iemācīties Blockchain un veidot karjeru Blockchain Technologies, pārbaudiet mūsu kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs jums izsmeļoši saprast, kas ir Blockchain, un palīdzēs jums apgūt priekšmetu.