Výukový program pro Ethereum - hlubší pohled do Etherea!



Tento Ethereum Tutorial vysvětluje Ethereum z architektonického hlediska a také jak tvoří největší platformu pro vytváření DAPPS a DAO.

Ethereum Tutorial:

V tomto blogu Ethereum Tutorial vysvětlím vnitřní fungování architektury ethereum a také vám ukážu implementaci ethereum prostřednictvím jednoduchého chytrá smlouva .

Ethereum vidím jako programovatelný blockchain, který bude v budoucnu sloužit většině podniků B2C. Ethereum dává vývojářům svobodu vytvářet složité modely, které mají být prováděny na blockchainu, místo aby je omezoval na předdefinované operace, jako je bitcoinový blockchain.





Díky tomuto přístupu se Ethereum stalo platformou pro celou řadu decentralizovaných aplikací a organizací, které zahrnují, ale nejsou omezeny na kryptoměny.

Během tohoto blogu „Ethereum Tutorial“ se budu podrobně věnovat různým tématům. Mezi tato témata patří:



Můžete projít touto nahrávkou Ethereum Tutorial, kde naši instruktoři podrobně vysvětlili témata který vám pomůže lépe pochopit tento koncept.

Výukový program pro Ethereum | Inteligentní smlouvy Ethereum | Edureka

Výukový program pro Ethereum: Účty Ethereum

Síť Ethereum má dva typy účtů, jmenovitě:



  • Externí účty
  • Smluvní účty

Tyto externí účty i smlouvy jsou označovány jako „státní objekty“ a zahrnují „stav“ sítě ethereum. Každý objekt stavu má dobře definovaný stav. U externích účtů se stav skládá ze zůstatku účtu, zatímco u smluvních účtů je stav definován úložištěm paměti a zůstatkem.

Externí účty budu označovat jednoduše jako účty. Tyto účty jsou vlastněny, jsou zastoupeny externími agenty sítě, mezi něž patří každý běžný uživatel, horníci, automatizovaní agenti atd.

Tyto účty jsou obecně řízeny pomocí kryptografických algoritmů veřejného klíče, jako je RSA. Hlavním účelem externích účtů je sloužit jako médium pro interakci uživatelů s Ethereum Blockchain.

Smluvní účty jsou na druhé straně sbírkou kódu, který je umístěn na blockchainu na konkrétní adrese. Tyto smlouvy jsou vyvolány externími účty nebo jinými smlouvami prostřednictvím konkrétní funkce výzvy k akci. Tyto smlouvy jsou psány ve skriptovacích jazycích na vysoké úrovni, jako je Solidity, Serpent nebo LLL. Každá smlouva, která je umístěna na blockchainu ethereum, je uložena ve specifickém formátu zvaném bajkód EVM (Ethereum Virtual Machine), což je binární formát specifický pro ethereum.

Bude spravedlivé, že vysvětlím EVM teď, když jsem vám řekl o EVM-bytecode.

Výukový program Ethereum: Virtuální stroj Ethereum

Ethereum rustikálním způsobem definuje soubor zobecněných protokolů, které se staly pilíři vývoje decentralizovaných aplikací. Jádrem toho je virtuální stroj Ethereum. Níže uvedený obrázek vysvětluje architekturu:

Ethereum Architecture - Ethereum Tutorial - Edureka

php převést řetězec na pole

Je důležité si uvědomit, že virtuální stroj Ethereum je nejen kompletně izolovaný, ale také zcela izolovaný. To znamená, že kód, který je aktuálně spuštěn na EVM, nemá přístup k síti nebo systému souborů a může střídmě přistupovat k dalším smlouvám.

Nyní, když rozumíme jádru platformy, pojďme se podrobněji podívat na síťové uzly.

Výukový program pro Ethereum: Síť Ethereum

Síť ethereum je veřejná blockchainová síť. Tvoří základ všech decentralizovaných aplikací typu peer-to-peer a organizací provozovaných v síti. Síť se skládá ze dvou typů uzlů, jmenovitě plných uzlů a lehkých uzlů.

Plné uzly obsahují celou historii transakcí od bloku genesis. Jsou plnohodnotným důkazem integrity blockchainové sítě. Plné uzly musí obsahovat každou transakci, která byla ověřena podle pravidel stanovených specifikacemi Ethereum.

Lehké uzly na druhé straně obsahují pouze podmnožinu celého blockchainu. Tyto typy uzlů se většinou používají v elektronických peněženkách, které musí mít nízkou hmotnost, a proto na ně nelze uložit celý blockchain. Tyto uzly naopak neoverují každý blok nebo transakci a nemusí mít kopii aktuálního stavu blockchainu. Spoléhají na úplné uzly, aby jim poskytli chybějící podrobnosti (nebo jim prostě chybí konkrétní funkce). Výhodou světelných uzlů je, že se mohou dostat rychleji do provozu, mohou běžet na více výpočetně / paměťově omezených zařízeních a nespotřebovávají téměř tolik úložného prostoru.

Každý veřejný blockchain má k sobě připojenou měnu. Ethereum se nijak neliší. Podívejme se hlouběji na kryptoměnu Ethereum.

Výukový program pro Ethereum: Ether a plyn

Ether je název kryptoměny používané k platbám za transakce v síti ethereum. Kromě platby za obecné transakce a služby se Ether také používá k nákupu plynu, který se zase používá k platbě za výpočet v rámci EVM.

Ether je metrická jednotka a má mnoho denominací, které pomáhají přesně platit za transakce a plyn. Nejmenší základní jednotka aka Základní jednotka se nazývá Wei. Názvy spolu s jejich konkrétními názvy jsou uvedeny v následující tabulce:

JednotkyWei hodnotaWei
Wei1 weijeden
Kwei1e3 wei1 000
Mwei1e6 wei1 000 000
Plést1e9 wei1 000 000 000
microEther1e12 wei1 000 000 000 000
milliEther1e15 wei1 000 000 000 000 000
Éter1e18 wei1 000 000 000 000 000 000

Jak již bylo zmíněno dříve, víme, že EVM je zodpovědný za běh kódu, který je nasazen v jeho síti. Co tedy někomu brání v spuštění nekonečné smyčky na EVM a úplném přetížení jeho paměti? Tady přichází koncept plynu.

Plyn se používá jako metrika pro platby za výpočetní zdroje v síti. Každá smlouva v síti má stanovené maximální množství plynu, které může použít pro své výpočty. Toto se nazývá „ Limit plynu „Další související pojmy týkající se plynu jsou následující:

  • Cena plynu : Jedná se o cenu plynu, pokud jde o žetony, jako je Ether a jeho další nominální hodnoty. Aby se stabilizovala hodnota plynu, je cena plynu pohyblivou hodnotou, takže pokud fluktuují náklady na tokeny nebo měnu, cena plynu se změní, aby zůstala stejná skutečná hodnota.
  • Poplatek za plyn : Jedná se skutečně o množství plynu, které je třeba zaplatit za provedení určité transakce nebo programu (nazývaného smlouva).

Pokud se tedy někdo pokusí spustit část kódu, která běží navždy, smlouva nakonec překročí svůj limit plynu a celá transakce, která vyvolala smlouvu, bude vrácena zpět do předchozího stavu.


Nyní, když víme o měně, pojďme se podívat na proces, který generuje novou měnu.

Výukový program pro ethereum: Těžba

Ethereum, podobně jako ostatní veřejné blockchainové technologie, zajišťuje bezpečnost prostřednictvím modelu založeného na pobídkách. Tomu se říká mechanismus kontroly práce. Níže uvedený obrázek ukazuje, jak funguje těžba ethereum:

Z technického hlediska se použitý algoritmus proof-of-work nazývá Ethash, což je hashovací algoritmus inspirovaný Dagger-Hashimotovým algoritmem.

Nyní, když jsme viděli fungující architekturu ethereum a diskutovali jsme o jejích základních prvcích, podívejme se na skutečný problém a přístup ethereum k jeho řešení.

Výukový program pro Ethereum: Případ použití decentralizovaného davového financování

Problémové prohlášení : Dobrý „nápad“ není v dnešním světě všechno pro zahájení úspěšného podnikání. K realizaci nápadu je zapotřebí mnoho finančních prostředků a úsilí. Zde přicházejí na scénu organizace jako „Kickstarter“. Poskytují projektům veřejnost, která je nutná pro dary na jejich projekt, aby se rozběhl, ale centralizovaná architektura takového motivu má své stinné stránky, hlavně ve způsobu, jakým se s odměnami zachází. Vzhledem k tomu, že všechna rozhodnutí činí centralizovaný orgán, jsou systémy náchylné k pravidlům, jako jsou:

  • kdokoli, kdo zmeškal termín pro kampaň, se už nemůže dostat
  • žádný dárce, který si to rozmyslel, se nemůže dostat ven

Přístup :

K řešení problému používáme decentralizovanou metodiku, jak je vysvětleno na obrázku níže:

Řešení :

Zde je solidní inteligentní smlouva pro výše uvedené prohlášení o problému.

pragma solidity ^ 0.4.16 token rozhraní {přenos funkce (adresa příjemce, částka uint)} smlouva Crowdsale {adresa veřejný příjemce uint veřejné financování Cíl uint veřejná částka Zvýšená uint veřejná lhůta uint veřejný token veřejného tokenu Mapování odměn (adresa => uint256) veřejný zůstatek bool FinancováníGoalReached = false bool crowdsaleClosed = false událost GoalReached (příjemce adresy, uint totalAmountRaised) událost FundTransfer (adresa backer, uint částka, bool isContribution) / ** * funkce Constrctor * * nastavení vlastníka * / funkce Crowdsale (adresa ifSuccessfulSendTo // adresa vlastníka, když je financování úspěšné uint financováníGoalInEthers // cílová částka pro zvýšení trvání uintInMinutes // daný čas uint etherCostOfEachToken // náklady na kapitál v etherové adrese addressOfTokenUsedAsReward // tokenová adresa) {příjemce = ifSuccessfulSendTo financováníGoal = financováníGoalInEthers * 1 ether termín = nyní + durationInMinutes * 1 minuta price = etherCostOfEachToken * 1 ether to kenReward = token (addressOfTokenUsedAsReward)} / ** * Záložní funkce * * Funkce bez názvu je výchozí funkcí, která je volána, kdykoli někdo pošle finanční prostředky na smlouvu * / function () payable {require (! crowdsaleClosed) uint amount = msg. hodnota balanceOf [msg.sender] + = částka amountRaised + = částka tokenReward.transfer (msg.sender, částka / cena) FundTransfer (msg.sender, částka, true)} modifikátor afterDeadline () {if (now = financováníGoal) {financováníGoalReached = true GoalReached (beneficient, amountRaised)} crowdsaleClosed = true} / ** * Výběr finančních prostředků * * Zkontroluje, zda bylo dosaženo cíle nebo časového limitu, a pokud ano, a bylo dosaženo cíle financování, * odešle celou částku příjemci. Pokud cíle nebylo dosaženo, může každý přispěvatel vybrat * částku, kterou přispěl. * / function safeWithdrawal () afterDeadline {if (! financováníGoalReached) {uint amount = balanceOf [msg.sender] balanceOf [msg.sender] = 0 if (amount> 0) {if (msg.sender.send (amount)) { FundTransfer (msg.sender, částka, nepravda)} else {balanceOf [msg.sender] = částka}}} if (financováníGoalReached && příjemce == msg.sender) {if (příjemce.send (amountRaised)) {FundTransfer (příjemce, amountRaised, false)} else {// Pokud se nám nepodaří poslat finanční prostředky příjemci, odemkněte zůstatek financujícího financováníGoalReached = false}}}}

V případě, že máte zájem o solidní učení, podívejte se na náš blog na , který se používá pro vývojosobníchytré smlouvy.

Pokud se chcete naučit Blockchain a budovat si kariéru v Blockchain Technologies, podívejte se na náš který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět Blockchainu do hloubky a pomůže vám dosáhnout mistrovství v předmětu.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme co nejdříve.