Vadnica za Ethereum - globlji pogled v Ethereum!



Ta vadnica Ethereum razlaga Ethereum z arhitekturnega stališča in tudi, kako predstavlja največjo platformo za gradnjo DAPPS in DAO.

Ethereum Vadnica:

V tem blogu Ethereum Tutorial bom razložil notranje delovanje arhitekture ethereuma in vam pokazal tudi izvajanje ethereuma s preprostim pametna pogodba .

Ethereum vidim kot programabilno verigo blokov, ki bo v prihodnosti služila večini podjetij B2C. Ethereum razvijalcem daje svobodo pri ustvarjanju zapletenih modelov, ki se bodo izvajali na verigi blokov, namesto da bi jih omejili na vnaprej določene operacije, kot je veriga Bitcoin.





S tem pristopom se je Ethereum spremenil v platformo za množico decentraliziranih aplikacij in organizacij, ki vključuje, vendar ni omejena na kripto valute.

V tem blogu 'Ethereum Tutorial' bom izčrpno pokrival različne teme. Te teme vključujejo:



Lahko si ogledate ta posnetek vadnice Ethereum, kjer so naši inštruktorji podrobno razložili teme to vam bo pomagalo bolje razumeti ta koncept.

Vadnica za Ethereum | Pametne pogodbe Ethereum | Edureka

Vadnica za Ethereum: Računi za Ethereum

Omrežje Ethereum ima dve vrsti računov, in sicer:



  • Zunanji računi
  • Pogodbeni računi

Ti računi, tako zunanji kot pogodbeni, se imenujejo 'državni objekti' in zajemajo 'stanje' omrežja ethereum. Vsak objekt stanja ima natančno določeno stanje. Pri zunanjih računih stanje vključuje stanje na računu, za pogodbene račune pa stanje definira pomnilnik in stanje pomnilnika.

Zunanje račune bom poimenoval preprosto kot račune. Te račune imajo v lasti zunanji agenti omrežja, ki vključujejo vsakega običajnega uporabnika, rudarje, avtomatizirane agente itd.

Te račune običajno nadzorujemo s pomočjo algoritmov za kriptografijo z javnimi ključi, kot je RSA. Glavni namen zunanjih računov je služiti kot medij za interakcijo uporabnikov z Ethereum Blockchain.

Pogodbeni računi pa so zbirka kode, ki je v verigi blokov na določenem naslovu. Na te pogodbe se sklicujejo zunanji računi ali druge pogodbe prek posebne funkcije poziva k dejanju. Te pogodbe so napisane v skriptnih jezikih visoke stopnje, kot so Solidity, Serpent ali LLL. Vsaka pogodba, ki se nahaja v blokovni verigi ethereum, je shranjena v določeni obliki, imenovani bajtoda EVM (Ethereum Virtual Machine), ki je binarna oblika, specifična za ethereum.

Pošteno bo, da EVM razložim zdaj, ko sem vam povedal o EVM-bytecode.

Vadnica za Ethereum: Navidezni stroj Ethereum

Ethereum na rustikalen način opredeli nabor splošnih protokolov, ki so postali stebri razvoja decentraliziranih aplikacij. V središču tega je navidezni stroj Ethereum. Spodnja slika pojasnjuje arhitekturo:

Ethereum Architecture - Ethereum Tutorial - Edureka

kaj je pojo programski model

Pomembno je omeniti, da navidezni stroj Ethereum ni le popolnoma v peskovniku, temveč tudi popolnoma izoliran. To pomeni, da koda, ki se trenutno izvaja na EVM, nima dostopa do omrežja ali datotečnega sistema in lahko zmerno dostopa do drugih pogodb.

Zdaj, ko razumemo jedro platforme, si poglejmo globlje omrežna vozlišča.

Vadnica za Ethereum: Mreža Ethereum

Omrežje ethereum je javno omrežje blockchain. Je osnova vseh decentraliziranih peer-to-peer aplikacij in organizacij, ki se izvajajo v omrežju. Omrežje sestavljata dve vrsti vozlišč, in sicer polna vozlišča in lahka vozlišča.

Polna vozlišča vsebujejo celotno zgodovino transakcij od blokade geneze. So polnopravni dokaz celovitosti blockchain omrežja. Polna vozlišča morajo vsebovati vsako transakcijo, ki je bila preverjena v skladu s pravili, določenimi v specifikacijah Ethereuma.

Lahka vozlišča po drugi strani pa vsebuje samo podmnožico celotne verige blokov. Te vrste vozlišč se večinoma uporabljajo v e-denarnicah, ki morajo biti po naravi majhne, ​​zato na njih ni mogoče shraniti celotne verige blokov. Nasprotno pa ta vozlišča ne preverjajo vsakega bloka ali transakcije in morda nimajo kopije trenutnega stanja verige blokov. Zanašajo se na polna vozlišča, da jim zagotovijo manjkajoče podrobnosti (ali pa jim preprosto manjka posebna funkcionalnost). Prednost lahkih vozlišč je, da se lahko hitreje vklopijo in zaženejo, lahko delujejo na računalniško / pomnilniško omejenih napravah in ne pojedo skoraj toliko prostora.

Vsak javni blockchain ima valuto. Ethereum ni nič drugačen. Poglejmo globlje v kriptovaluto Ethereum.

Vadnica za Ethereum: Eter in plin

Eter je ime kriptovalute, s katero se plačujejo transakcije v omrežju ethereum. Poleg plačevanja splošnih transakcij in storitev se Ether uporablja tudi za nakup plina, ki se nato uporablja za plačevanje računa znotraj EVM.

Eter je metrična enota in ima veliko apoenov, ki pomagajo natančno plačevati transakcije in plin. Najmanjši apoen, imenovan osnovna enota, se imenuje Wei. V spodnji tabeli so prikazani poimenovanja in njihova posebna imena:

EnoteWei vrednostWei
wei1 weieno
Kwei1e3 wei1.000
Mwei1e6 wei1.000.000
Plesti1e9 wei1.000.000.000
mikroeter1e12 wei1.000.000.000.000
miliEter1e15 wei1.000.000.000.000.000
Eter1e18 wei1.000.000.000.000.000.000

Kot smo že omenili, vemo, da je EVM odgovoren za izvajanje kode, ki je nameščena v njenem omrežju. Kaj torej nekoga ustavi, da na EVM zažene neskončno zanko in popolnoma preobremeni njegov spomin? Tu nastopi koncept plina.

Plin se uporablja kot metrika za plačevanje računskih virov v omrežju. Vsaka pogodba v omrežju ima določeno največjo količino plina, ki jo lahko uporabi za svoje izračune. To je znano kot „ Omejitev plina 'Drugi izrazi, povezani s plinom, so naslednji:

  • Cena plina : To so stroški plina v smislu žetonov, kot je Eter in njegova druga apoena. Da bi stabilizirali vrednost plina, je cena plina plavajoča vrednost, tako da se, če stroški žetonov ali valute nihajo, cena plina spremeni, da ostane enaka realna vrednost.
  • Pristojbina za plin : To je dejansko količina plina, ki jo je bilo treba plačati za izvedbo določene transakcije ali programa (imenovanega pogodba).

Če torej nekdo poskuša zagnati del kode, ki deluje za vedno, bo pogodba sčasoma presegla omejitev plina in celotna transakcija, ki je sklicevala na pogodbo, se bo vrnila v prejšnje stanje.


Zdaj, ko vemo za valuto, si oglejmo postopek, ki ustvarja novo valuto.

Vadnica Ethereum: Rudarstvo

Ethereum, podobno kot druge javne tehnologije veriženja blokov, zagotavlja varnost s spodbudnim modelom. Temu pravimo mehanizem dokazila o delu. Spodnja slika prikazuje, kako deluje pridobivanje ethereuma:

Iz bolj tehnične perspektive se uporabljeni algoritem za preverjanje dela imenuje Ethash, ki je algoritem zgoščevanja, ki ga je navdihnil algoritem Dagger-Hashimoto.

Zdaj, ko smo videli delujočo arhitekturo ethereuma in razpravljali o njenih bistvenih elementih, si oglejmo resnični problem in pristop ethereuma za njegovo reševanje.

Vadnica za Ethereum: Primer uporabe decentraliziranega množičnega financiranja

Izjava o težavi : Dobra ‘ideja’ ni vse, kar je v današnjem svetu za začetek uspešnega poslovanja. Za uresničitev ideje je treba vložiti veliko sredstev in truda. Tu se pojavijo organizacije, kot je 'Kickstarter'. Projektom zagotavljajo javno izpostavljenost, ki je potrebna za donacije za njihov projekt, da se začne izvajati, vendar ima centralizirana arhitektura takega motiva slabe strani, predvsem v načinu ravnanja z nagradami. Ker centralizirani organ sprejema vse odločitve, so sistemi nagnjeni k pravilom, kot so:

  • kdor je zamudil rok za akcijo, ne more več vstopiti
  • vsak donator, ki si je premislil, ne more ven

Pristop :

Za reševanje problema uporabljamo decentralizirano metodologijo, kot je razloženo na spodnji sliki:

Rešitev :

Tu je trdna pametna pogodba za zgornjo izjavo o težavi.

pragma solidity ^ 0.4.16 vmesniški žeton {prenos funkcije (naslov prejemnik, uint znesek)} pogodba Crowdsale {naslov javni upravičenec uint javno financiranjeCil uint javni znesekDviganje uint javni rok uint javna cena žeton javni žetonNagradna preslikava (address => uint256) javno ravnotežje bool financeGoalReached = false bool crowdsaleClosed = false dogodek GoalReached (naslov prejemnik, uint totalAmountRaised) dogodek FundTransfer (naslov naslova, uint znesek, bool isContribution) / ** * Constrctor funkcija * * Nastavitev lastnika * / funkcija Crowdsale (naslov ifSuccessfulSendTo // naslov lastnika, ko je financiranje uspešno uint financiranjeGoalInEthers // ciljni znesek za povečanje uint durationInMinutes // dani čas uint etherCostOfEachToken // stroški lastniškega kapitala v eterskem naslovu addressOfTokenUsedAsReward // žetonski naslov) {upravičenec = ifSuccessfulSendTo financiranjeGoal = financeGoalInE + durationInMinutes * 1 minutna cena = etherCostOfEachToken * 1 eter do kenReward = žeton (addressOfTokenUsedAsReward)} / ** * Nadomestna funkcija * * Funkcija brez imena je privzeta funkcija, ki se pokliče vsakič, ko kdo pošlje sredstva pogodbi * / funkcija () plačljivo {zahteva (! crowdsaleClosed) uint znesek = sporoč. vrednost bilanceOf [msg.sender] + = znesek zbranega + = znesek žetonaReward.transfer (msg.sender, znesek / cena) FundTransfer (msg.sender, znesek, resnično)} modifikator afterDeadline () {if (zdaj = financeGoal) {financeGoalReached = true GoalReached (upravičenec, znesek dvignjen)} crowdsaleClosed = true} / ** * Umaknite sredstva * * Preveri, ali je bil dosežen cilj ali časovna omejitev, in če je, in ali je bil cilj financiranja dosežen, * pošlje celoten znesek upravičencu. Če cilj ni bil dosežen, lahko vsak sodelavec dvigne * znesek, ki ga je prispeval. * / function safeWithdrawal () afterDeadline {if (! financeGoalReached) {uint amount = balanceOf [msg.sender] balanceOf [msg.sender] = 0 if (amount> 0) {if (msg.sender.send (amount)) { FundTransfer (msg.sender, amount, false)} else {balanceOf [msg.sender] = amount}}} if (financiranjeGoalReached && upravičenec == msg.sender) {if (koristnik.send (znesek dvignjen)) {FundTransfer (upravičenec, amountRaised, false)} else {// Če sredstev ne pošljemo upravičencu, odklenite financerje, uravnotežite financeGoalReached = false}}}}

Če vas zanima učenje trdnosti, si oglejte naš blog na , ki se uporablja za razvojosebnopametne pogodbe.

Če se želite naučiti Blockchain in si ustvariti kariero v Blockchain Technologies, si oglejte našo ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in izkušnjami iz resničnega življenja Ta trening vam bo pomagal poglobljeno razumeti Blockchain in vam pomagal doseči mojstrstvo nad temo.

Imate vprašanje za nas? Prosimo, navedite ga v oddelku za komentarje in se vam bomo javili v najkrajšem možnem času.