EVM ja gas-mekaniikka
Ymmärrä Ethereum Virtual Machine (EVM) älysopimusten suoritusympäristönä sekä gasin käsite transaktiomaksujen yhteydessä.
EVM ja gas-mekaniikka on ilmainen Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Web3:n ja DApp-sovellusten kehityksen perusteet-kurssilla on yhteensä 3 oppituntia.
Ethereumin aivot
Ethereum ei ole vain tilikirja, vaan hajautettu tietokone! Tätä ”tietokonetta” kutsutaan nimellä Ethereum Virtual Machine (EVM).
Ajatelkaa EVM:ää maailmanlaajuisena, yhtenäisenä tietokoneena, joka suorittaa kaikki älysopimukset ja päivittää lohkoketjun tilaa.
Jokainen Ethereum-verkon solmu suorittaa EVM:ää, mikä varmistaa, että kaikki ovat yhtä mieltä verkon täsmällisestä tilasta.
Deterministinen tilakone
EVM on deterministinen tilakone. Tämä tarkoittaa, että sama alkutila ja sama transaktio tuottavat aina saman lopputilan.
Se käsittelee transaktioita, suorittaa älysopimusten koodia ja päivittää lohkoketjun tilaa (tilien saldot, sopimusten tallennustilat ja niin edelleen) niiden mukaisesti.
Deterministisyys on hajautetulle verkolle ratkaisevan tärkeää, koska sen ansiosta kaikki osallistujat voivat tarkistaa lohkoketjun eheyden itsenäisesti.
EVM-opkoodit: konekieli
Solidityn kaltaisilla kielillä kirjoitetut älysopimukset käännetään EVM-tavukoodiksi. Tämä tavukoodi koostuu matalan tason ohjeista, joita kutsutaan opkoodeiksi.
Jokainen opkoodi suorittaa tietyn tehtävän, kuten kahden luvun yhteenlaskun, datan pinoamisen tai datan tallentamisen muistiin.
EVM suorittaa opkoodit järjestyksessä ja käsittelee älysopimuksen määrittämää logiikkaa.
Miksi Gasia tarvitaan?
Laskennan suorittaminen maailmanlaajuisella ja hajautetulla tietokoneella ei ole ilmaista. Tässä kohtaa Gas tulee mukaan.
Gas on Ethereum-verkon toimintojen suorittamiseen tarvittavan laskennallisen työn yksikkö.
Sitä käytetään:
- estämään älysopimusten loputtomat silmukat
- korvaamaan louhijoille/validaattoreille niiden laskentaresurssien käytöstä
- asettamaan transaktiot tärkeysjärjestykseen tarjotun maksun perusteella
Gas Limit: transaktionne budjetti
Kun lähetätte transaktion, määritätte Gas Limit -arvon. Se on suurin määrä Gasia, jonka olette valmis käyttämään kyseiseen transaktioon.
Se toimii turvamekanismina. Jos transaktio vaatii enemmän Gasia kuin raja sallii, se perutaan (epäonnistuu), mutta maksatte silti siihen asti käytetystä Gasista.
Etherin tavallinen siirto maksaa yleensä 21 000 Gas-yksikköä. Älysopimusten käsittely voi maksaa huomattavasti enemmän niiden monimutkaisuudesta riippuen.
Gas Price: hinta yksikköä kohti
Gas Limit ilmaisee määrän, kun taas Gas Price on yhden Gas-yksikön hinta. Se ilmoitetaan yleensä Gwei-yksikköinä.
1 Gwei = 0.000000001 Ether. Siksi 1 Ether = 1,000,000,000 Gwei.
Voitte asettaa korkeamman Gas Pricen kannustaaksenne louhijoita/validaattoreita sisällyttämään transaktionne lohkoon nopeammin, etenkin verkon ruuhkautuessa.
Transaktiomaksujen laskeminen
Maksamanne transaktion kokonaismaksu lasketaan näin:
Gas Units Used * Gas Price
Jos transaktio käyttää esimerkiksi 21 000 Gas-yksikköä ja Gas Price on 50 Gwei:
- Maksu = 21 000 * 50 Gwei = 1 050 000 Gwei
- mikä on 0,00105 Etheriä
Muistakaa, että maksatte vain todellisuudessa käytetystä Gasista Gas Limit -rajaan asti.
”Out of Gas” -virhe
Jos transaktion Gas loppuu ennen suorituksen valmistumista, seurauksena on ”Out of Gas” -virhe.
Tällöin:
- kaikki transaktion tekemät tilamuutokset perutaan
- transaktio epäonnistuu eikä sitä tallenneta lohkoketjuun (lukuun ottamatta merkintää epäonnistuneena transaktiona)
- mikä tärkeintä, maksatte silti transaktiomaksun kaikesta siihen asti kulutetusta Gasista
Gas-palautukset: pieni palkkio
Ethereum tarjoaa Gas-palautuksia tietyistä toiminnoista, jotka pienentävät lohkoketjun tilan kokoa.
Jos älysopimus esimerkiksi poistaa tietoja tallennustilasta, osa poistamiseen käytetystä Gasista palautetaan.
Tämä kannustaa kehittäjiä kirjoittamaan tehokkaita sopimuksia, jotka eivät tarpeettomasti kasvata lohkoketjun tilaa.
Pikatesti: EVM ja Gas
Testatkaa Ethereum Virtual Machinen ja Gas-mekanismin ymmärrystänne.
EVM ja Gas: tärkeimmät asiat
Tässä oppitunnissa tutustuimme Ethereum-verkon keskeisiin toimintaperiaatteisiin:
- Ethereum Virtual Machine (EVM) on älysopimuksia suorittava maailmanlaajuinen ja deterministinen tietokone.
- Gas on transaktioiden vaatiman laskennallisen työn yksikkö.
- Gas Limit määrittää suurimman Gas-määrän, jonka transaktio voi kuluttaa.
- Gas Price (Gwei-yksikköinä) määrittää Gas-yksikön hinnan.
- Transaktioiden kokonaismaksut ovat
Gas Used * Gas Price. - Gasin loppuminen peruu transaktion, mutta kulutettu Gas veloitetaan silti.
Näiden käsitteiden ymmärtäminen on tärkeää tehokkaiden ja kustannustehokkaiden DApp-sovellusten kehittämisessä!
Opi Web3:n ja DApp-sovellusten kehityksen perusteet tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 29
- Oppitunnit
- 105
Usein kysytyt kysymykset
Onko oppitunti ”EVM ja gas-mekaniikka” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolun 3 oppituntia, myös oppitunnin “EVM ja gas-mekaniikka”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Web3:n ja DApp-sovellusten kehityksen perusteet-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”EVM ja gas-mekaniikka”?
Ymmärrä Ethereum Virtual Machine (EVM) älysopimusten suoritusympäristönä sekä gasin käsite transaktiomaksujen yhteydessä. Harjoittelet Web3:n ja DApp-sovellusten kehityksen perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Web3:n ja DApp-sovellusten kehityksen perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Web3:n ja DApp-sovellusten kehityksen perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”EVM ja gas-mekaniikka”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunnilla?
Kyllä. Jokainen Web3:n ja DApp-sovellusten kehityksen perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Ethereum-lohkoketju
- Mitä älysopimukset ovat?
- EVM ja gas-mekaniikka