Grunnleggende om Web3- og DApp-utvikling · leksjon

EVM og gassmekanismer

Forstå Ethereum Virtual Machine (EVM) som kjøremiljøet for smartkontrakter, og begrepet gass for transaksjonsgebyrer.

Leksjon 3 av 311 trinn

EVM og gassmekanismer er en gratis leksjon i Grunnleggende om Web3- og DApp-utvikling på CoddyKit. Dette er leksjon 3 av 3. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende om Web3- og DApp-utvikling, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende om Web3- og DApp-utvikling inneholder totalt 3 leksjoner.

Ethereums hjerne

Ethereum er ikke bare en hovedbok; det er en desentralisert datamaskin! Denne «datamaskinen» kalles Ethereum Virtual Machine (EVM).

Tenk på EVM som en global datamaskin med én felles instans, som kjører alle smarte kontrakter og oppdaterer tilstanden på blokkjeden.

Hver node i Ethereum-nettverket kjører EVM, slik at alle er enige om nettverkets nøyaktige tilstand.

En deterministisk tilstandsmaskin

EVM er en deterministisk tilstandsmaskin. Det betyr at den alltid produserer den samme sluttilstanden når den får den samme starttilstanden og den samme transaksjonen.

Den behandler transaksjoner, kjører smartkontraktkode og oppdaterer tilstanden på blokkjeden (kontosaldoer, kontraktslagring og så videre) i samsvar med dette.

Denne determinismen er avgjørende for et desentralisert nettverk, fordi den gjør det mulig for alle deltakere å kontrollere blokkjedenes integritet uavhengig av hverandre.

EVM-opkoder: Maskinspråk

Smarte kontrakter, som er skrevet i språk som Solidity, kompileres til EVM-bytecode. Denne bytekoden består av instruksjoner på lavt nivå som kalles opkoder.

Hver opkode utfører en bestemt oppgave, for eksempel å legge sammen to tall, legge data på stacken eller lagre data i minnet.

EVM utfører disse opkodene sekvensielt og behandler logikken som er definert av smartkontrakten.

Hvorfor trenger vi gas?

Det er ikke gratis å kjøre beregninger på en global, desentralisert datamaskin. Det er her gas kommer inn.

Gas er en måleenhet for beregningsarbeidet som kreves for å utføre operasjoner på Ethereum-nettverket.

Det brukes til å:

  • Forhindre uendelige løkker i smarte kontrakter.
  • Godtgjøre minere/validatorer for beregningsressursene deres.
  • Prioritere transaksjoner basert på gebyret som tilbys.

Gas-grense: Transaksjonens budsjett

Når du sender en transaksjon, angir du en gas-grense. Dette er den maksimale mengden gas du er villig til å bruke på transaksjonen.

Den fungerer som en sikkerhetsmekanisme. Hvis transaksjonen krever mer gas enn grensen, rulleres den tilbake (mislykkes), men du betaler fortsatt for gassen som ble brukt frem til dette tidspunktet.

En vanlig Ether-overføring koster normalt 21 000 gas-enheter. Interaksjoner med smarte kontrakter kan koste mye mer, avhengig av hvor komplekse de er.

Gas-pris: Kostnad per enhet

Mens gas-grensen angir mengden, er gas-prisen kostnaden per gas-enhet. Den angis vanligvis i Gwei.

1 Gwei = 0.000000001 Ether. Altså er 1 Ether = 1 000 000 000 Gwei.

Du kan sette en høyere gas-pris for å gi minere/validatorer et insentiv til å ta med transaksjonen din i en blokk tidligere, særlig når nettverket er overbelastet.

Beregning av transaksjonsgebyrer

Det totale transaksjonsgebyret du betaler, beregnes slik:

Gas Units Used * Gas Price

Hvis en transaksjon for eksempel bruker 21 000 gas-enheter og gas-prisen er 50 Gwei:

  • Gebyr = 21 000 * 50 Gwei = 1 050 000 Gwei
  • Dette tilsvarer 0,00105 Ether

Husk at du bare betaler for gassen som faktisk brukes, opptil gas-grensen.

Feilen «Out of Gas»

Hvis transaksjonen går tom for gas før den er ferdig utført, oppstår feilen «Out of Gas».

Når dette skjer:

  • Alle tilstandsendringer som transaksjonen har gjort, rulles tilbake.
  • Transaksjonen mislykkes og registreres ikke på blokkjeden (bortsett fra som en mislykket transaksjon).
  • Viktigst av alt: Du betaler fortsatt transaksjonsgebyret for all gas som er brukt frem til feilen oppstod.

Gas-refusjon: En liten belønning

Ethereum tilbyr gas-refusjon for enkelte operasjoner som reduserer størrelsen på tilstanden på blokkjeden.

Hvis en smart kontrakt for eksempel sletter data fra lagringen, refunderes en del av gassen som ble brukt på slettingen.

Dette oppmuntrer utviklere til å skrive effektive kontrakter som ikke unødvendig gjør tilstanden på blokkjeden større.

Kort sjekk: EVM og gas

Test forståelsen din av Ethereum Virtual Machine og hvordan gas fungerer.

EVM og gas: Det viktigste

I denne leksjonen utforsket vi de grunnleggende mekanismene i Ethereum-nettverket:

  • Ethereum Virtual Machine (EVM) er den globale, deterministiske datamaskinen som kjører smarte kontrakter.
  • Gas er enheten for beregningsarbeidet som kreves for transaksjoner.
  • Gas-grensen angir den maksimale mengden gas en transaksjon kan bruke.
  • Gas-prisen (i Gwei) bestemmer kostnaden per gas-enhet.
  • Totale transaksjonsgebyrer er Gas Used * Gas Price.
  • Hvis en transaksjon går «tom for gas», rulles den tilbake, men den brukte gassen forbrukes likevel.

Det er avgjørende å forstå disse konseptene for å utvikle effektive og kostnadseffektive DApps!

Gratis å komme i gang

Lær deg Grunnleggende om Web3- og DApp-utvikling med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
29
Leksjoner
105

Ofte stilte spørsmål

Er leksjonen «EVM og gassmekanismer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende om Web3- og DApp-utvikling, inkludert «EVM og gassmekanismer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende om Web3- og DApp-utvikling inneholder totalt 3 leksjoner.

Hva lærer jeg i «EVM og gassmekanismer»?

Forstå Ethereum Virtual Machine (EVM) som kjøremiljøet for smartkontrakter, og begrepet gass for transaksjonsgebyrer. Du øver på Grunnleggende om Web3- og DApp-utvikling med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Grunnleggende om Web3- og DApp-utvikling?

Ingen tidligere erfaring er nødvendig. Grunnleggende om Web3- og DApp-utvikling på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 3.

Hvor lang tid tar leksjonen «EVM og gassmekanismer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Grunnleggende om Web3- og DApp-utvikling-leksjonen?

Ja. Alle Grunnleggende om Web3- og DApp-utvikling-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Ethereum-blokkjeden
  2. Hva er smartkontrakter?
  3. EVM og gassmekanismer
← Tilbake til Grunnleggende om Web3- og DApp-utvikling