Privatna mreža Ethereum - stvorite svoj vlastiti Ethereum Blockchain!



U ovom vodiču za privatnu mrežu Ethereuma naučit ćete kako stvoriti vlastiti Ethereum Blockchain i kako izvršiti transakciju između dva računa.

U prethodnom Vodič za tartuf Ethereum , saznali ste za Suite tartufa i razvili Ethereum DApp. Da biste razvili složenu ethereum aplikaciju, morat ćete je pokrenuti na privatnoj mreži kako biste vidjeli kako radi prije postavljanja. Dakle, u ovom vodiču za privatnu mrežu Ethereuma naučit ćete kako stvoriti Privatna mreža Ethereuma i kako izvršiti transakciju između dva računa.

Zanima vas razvoj Ethereuma? Pogledajte Live .





Vodič za privatnu mrežu Ethereum

Ovo su teme koje ću obrađivati ​​u ovom vodiču:

Što je privatna mreža Ethereum?

Privatna mreža Ethereum potpuno je privatni Blockchain koji je izoliran od glavne mreže Ethereum. Privatnu mrežu Ethereum uglavnom stvaraju organizacije kako bi ograničile dozvole čitanja Blockchaina. Samo čvorovi s pravim dopuštenjima moći će pristupiti ovom Blockchainu. Čvorovi u ovoj mreži nisu povezani s glavnim mrežnim čvorovima i njihov je domet ograničen samo na ovaj privatni Blockchain.



Vodič za privatne i javne -Ethereum Private Network - Edureka

Zašto se koristi Ethereum Private Network?

Privatnu mrežu Ethereum koriste organizacije za pohranu privatnih podataka koji ne bi trebali biti vidljivi ljudima izvan njihove organizacije. Privatna mreža Ethereum također se koristi za testiranje i eksperimentiranje Blockchaina ako netko ne želi koristiti javne mreže za testiranje.

objasniti razliku između promjenjivih i nepromjenjivih predmeta.

Značajke privatne mreže Ethereum

Kao što je spomenuto u prethodnom odjeljku, Ethereum Private Network koristi se u svrhu testiranja. Ali zašto bi se netko potrudio stvoriti novu mrežu kad već postoje javne mreže za testiranje? Pa, Ethereum Private Network ima svoj skup značajki kako je navedeno u nastavku:



  • Djeluje kao distribuirana baza podataka
  • Blockchain u privatnoj mreži Ethereum može sadržavati privatne podatke (jer mreža nije javna)
  • Pristup se može temeljiti na dopuštenjima
  • Transakcije mogu biti besplatne
  • Računi se mogu dodijeliti eterimasami, što čak i ne zahtijeva kupnju virtualnih etera

Krenimo dalje, prijeđimo na praktični dio ovog vodiča za privatnu mrežu Ethereum.

Instaliranje Ethereuma na Ubuntu

Da bismo stvorili privatnu mrežu Ethereum, prvo moramo imati instaliran Ethereum u našem sustavu. U ovom odjeljku vodiča za privatnu mrežu Ethereum naučit ćete kako instalirati Ethereum na Ubuntu.

Da biste instalirali Ethereum, pokrenite sljedeće naredbe u terminalu:

$ sudo apt-get instalacija softverskih svojstava-uobičajena $ sudo add-apt-repozitorij -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Gotovo! Ovo će instalirati Ethereum na vaš sustav.

Krenimo od stvaranja privatne mreže.

Demo: Stvaranje privatne mreže Ethereum i izvršavanje transakcije

U ovom uputstvu za privatnu mrežu Ethereum poslat ćemo eteres jednog računa na drugi i tako, trebamo račune. Pogledajmo sada kako stvoriti račune za naš Blockchain.

Stvaranje računa za privatnu mrežu Ethereum

Prije stvaranja novih računa, kreirajmo novi direktorij za naše radno mjesto. Da biste to učinili, pogledajte naredbe u nastavku:

$ mkdir private-ethereum $ cd private-ethereum

Da bismo izvršili transakciju, trebaju nam najmanje dva računa: primatelj i pošiljatelj.

Da biste stvorili dva računa, dvaput pokrenite sljedeću naredbu:

$ geth --datadir ./datadir račun nov

Uđi pristupna fraza za svaki račun kada se to zatraži. Ne zaboravite ovu lozinku!

Nakon što se ove naredbe uspješno izvrše, stvorit će se dva računa i adresa računa prikazat će se na zaslonu.

Spremite ove adrese negdje jer ćemo ih dalje koristiti.

Stvaranje Genesis datoteke

Datoteka Genesis sadrži svojstva koja definiraju Blockchain. Genesis datoteka je početna točka Blockchaina, pa je obvezno stvoriti Genesis datoteku da biste stvorili Blockchain. Sada, stvorimo Postanakdatoteka.

Prvo stvorite datoteku s imenom genesis.json

$ nano genesis.json

A sada kopirajte i zalijepite sljedeći kod u tu datoteku:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'poteškoća': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance ':' 1200000000}}

Bilješka: U gornjem kodu zamijenite adresu pod aloc odjeljak s adresom računa koje ste stvorili u prethodnom koraku.

Spremite ga i izađite.

Dopustite mi da ukratko objasnim sadržaj datoteke Genesis:

chainId - Ovo je identifikacijski broj lanca koji se koristi za razlikovanje Blockchains-a
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - ta su svojstva povezana s račvanjem lanca i verzijama. Ne trebaju nam za naš vodič, pa ih postavimo na 0.
poteškoća - Ovaj broj odlučuje koliko će teško blokovi biti minirani. Za privatne mreže dobro je postaviti niži broj jer vam omogućuje brzo miniranje blokova, što rezultira brzim transakcijama.
gasLimit - Ovaj broj je ukupna količina plina koja se može koristiti u svakom bloku. Ne želimo da naša mreža dosegne ograničenje, pa smo postavili ovo visoko.
aloc - Ovaj se dio koristi za dodjelu etera na već stvorene račune.

Datoteka Genesis je spremna. Sada je vrijeme za pokretanje Blockchaina.

Instanciranje direktorija podataka

Prije pokretanja Blockchaina, moramo instancirati direktorij podataka. Katalog podataka je direktorij u kojem su pohranjeni podaci povezani s Blockchainom. Za instanciranje direktorija podataka pokrenite sljedeću naredbu:

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

Nakon uspješne instancije trebali biste vidjeti sljedeći izlaz:

S instanciranim Data Directoryom, sada možemo pokrenuti Blockchain.

Pokretanje Ethereum Private Blockchaina

Da biste pokrenuli Blockchain, pokrenite sljedeću naredbu:

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

Gotovo! Vaš privatni Ethereum Blockchain je pokrenut.

U gornjoj naredbi šaljemo sve zapisnike u zasebnu datoteku pod nazivom Eth.log . Geth će automatski stvoriti novu datoteku ako je ne pronađe.

Izlaz ovog koda trebao bi izgledati otprilike ovako:

što je primjer klase u javi

Sada smo ušli u geth konzola gdje možemo pokretati naredbe za naš Blockchain.

Dnevnici čitanja

U prethodnom odjeljku spomenuo sam da zapisnike pohranjujemo u drugu datoteku. U ovom dijelu reći ću vam kako pročitati zapisnike iz ove datoteke.

Čitat ćemo zapisnike s zasebnog terminala, pa prvo otvorimo novi terminal. Prvi,prebaciti na privatno-ethereum direktorija, a zatim pokrenite sljedeću naredbu za čitanje dnevnika:

$ tail -f Eth.log

Sada možete vidjeti zapisnike u terminalu. Ti se zapisnici dinamički ažuriraju kad god postoji neka aktivnost u Blockchainu.

Uvoz računa u privatnu mrežu

Možda se sjećate da smo stvorili dva računa za obavljanje transakcija. Ali te račune nismo dodali u svoju mrežu. Dakle, u ovom dijelu vodiča za privatnu mrežu Ethereum, reći ću vam kako uvesti račune.

Kada kreiramo račun, svi detalji računa pohranjuju se u UTC datoteka u direktoriju spomenutom tijekom stvaranja računa (put: ./datadir/keystore ). Da bismo uvezli račune, moramo kopirati ove datoteke i zalijepiti u pohrana ključeva direktorij pod Imenikom podataka(staza: ./myDataDir/keystore )

To je sve! Računi su uvezeni. Jednostavno, zar ne? Da bismo provjerili uvoz, pokrenut ćemo sljedeću naredbu u geth konzola.

> et.računi

Ovo će prikazati popis svih dostupnih računa.

Da bismo provjerili stanje na tim računima, upotrijebit ćemo sljedeću naredbu:

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

Spremni smo sa svime što je potrebno za obavljanje transakcije. Zašto čekati? Učinimo to!

Izrada transakcije

U ovom uputstvu za privatnu mrežu Ethereuma poslat ćemo neke eteres jednog računa na drugi.

Sintaksa slanja etera je sljedeća:

> eth.sendTransaction ({od: 'adresa', do: 'adresa', vrijednost: web3.toWei (iznos, 'eter')})

Poslat ćemo 1000 etera s računa 1 na račun 2 pomoću sljedeće naredbe:

> eth.sendTransaction ({od: eth.accounts [0], na: eth.accounts [1], vrijednost: web3.toWei (1000, 'eter')})

Nije uspjelo? Ne brinite Ni meni nije uspjelo. To je zato što je račun prema zadanim postavkama zaključan i ne dopušta transakcije.

pronađi najveći element u nizu java

Dakle, prvo moramo otključati račun pošiljatelja. Sjećate se lozinke koju ste koristili prilikom stvaranja računa? Pa, morate, jer ćete to morati koristiti za otključavanje računa. Otključat ćemo račun pomoću sljedeće naredbe:

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

Sad ćemo poslati etereuspješno:

> eth.sendTransaction ({od: eth.accounts [0], na: eth.accounts [1], vrijednost: web3.toWei (1000, 'eter')})

Ovo bi trebalo vratiti ID transakcije.

Gotovo! Uspješno ste izvršili transakciju!

Da bismo provjerili transakciju, provjerimo stanje na oba računa.

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

Yay! Možemo vidjeti da 1000 eterasu poslani s jednog računa na drugi!

Čestitamo! Stvorili ste privatnu mrežu Ethereum i izvršili transakciju. Nadam se da je ovaj vodič za Ethereum Private Network bio informativan i da vam je pomogao da razumijete Ethereum Private Network. Sada, samo naprijed i pokušajte eksperimentirati s novostvorenom privatnom mrežom.

Imate pitanje za nas? Molimo objavite na i javit ćemo vam se.

Ako želite naučiti Blockchain i izgraditi karijeru u Blockchain Technologies, onda pogledajte našu koja dolazi s treningom uživo pod vodstvom instruktora i iskustvom u stvarnom životu. Ovaj trening pomoći će vam da iscrpno shvatite što je Blockchain i pomoći vam da postignete ovladavanje tom temom.