Grunnleggende om Web3- og DApp-utvikling · leksjon

Distribuere og samhandle

Øv på å distribuere de kompilerte smartkontraktene til et simulert blokkjede-miljø og samhandle med funksjonene deres gjennom Remix-grensesnittet.

Leksjon 3 av 312 trinn

Distribuere og samhandle 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.

Hva innebærer distribusjon av en smartkontrakt?

Du har lært å skrive og kompilere smartkontrakter i Remix. Neste steg er å distribuere dem.

Å distribuere en kontrakt betyr å publisere den kompilerte koden på en blokkjede. Når kontrakten er distribuert, blir den et uforanderlig, selvkjørende program som alle på nettverket kan få tilgang til.

Remix-panelet for distribusjon og kjøring

Remix IDE har et eget panel for distribusjon og samhandling. Se etter programtillegget «Deploy & Run transactions», som vanligvis er representert av en Ethereum-logo.

Dette panelet lar deg:

  • Velge et blokkjede-miljø.
  • Velge en konto for distribusjon.
  • Distribuere de kompilerte kontraktene dine.
  • Samhandle med distribuerte kontrakter.

Velge et blokkjede-miljø

Før du distribuerer, må du angi hvilken blokkjede Remix skal bruke. I rullegardinmenyen «Environment» ser du disse alternativene:

  • JavaScript VM: En lokal, simulert blokkjede i nettleseren. Perfekt for testing!
  • Injected Provider: Kobler til en ekstern lommebok, for eksempel MetaMask.
  • Web3 Provider: Kobler til et egendefinert RPC-endepunkt, for eksempel en lokal Hardhat-node.

I denne leksjonen bruker vi JavaScript VM.

Testkontoer i JavaScript VM

Når du velger «JavaScript VM», oppretter Remix automatisk flere testkontoer. Disse kontoene er forhåndsfinansiert med falsk Ether (ETH).

Du bruker én av disse kontoene til å distribuere kontrakten. Distribusjonstransaksjonen trekker «gas» (transaksjonsgebyrer) fra saldoen på den valgte kontoen, akkurat som på en ekte blokkjede.

Gasgrense og verdi

I panelet «Deploy & Run» ser du også felter for «Gas limit» og «Value».

  • Gas limit: Den maksimale mengden gas, altså beregningsarbeid, du er villig til å bruke på en transaksjon.
  • Value: Mengden Ether eller et annet opprinnelig token du vil sende sammen med transaksjonen, for eksempel til payable-funksjoner eller for å sende midler til en kontrakt.

For de fleste enkle distribusjoner er standardverdien for gasgrensen tilstrekkelig. Foreløpig lar vi «Value» stå på 0.

Vår enkle Counter-kontrakt

La oss bruke en enkel Counter-kontrakt for å øve på distribusjon og samhandling. Denne kontrakten lagrer et heltall uten fortegn og lar oss øke eller redusere det.

Kopier og lim inn denne koden i en ny fil med navnet Counter.sol i Remix, og kompiler den deretter.

pragma solidity ^0.8.0;

contract Counter {
    uint public count;

    constructor() {
        count = 0;
    }

    function increment() public {
        count++;
    }

    function decrement() public {
        count--;
    }
}

Distribuere Counter-kontrakten

Når Counter.sol er kompilert og «JavaScript VM» er valgt:

  1. Kontroller at Counter er valgt i rullegardinmenyen «CONTRACT».
  2. Klikk på den oransje knappen «Deploy».

Du ser en registrert transaksjon i Remix-terminalen, og den distribuerte kontrakten vises under «Deployed Contracts».

Samhandle med distribuerte kontrakter

Når kontrakten er distribuert, vises den under delen «Deployed Contracts» i panelet «Deploy & Run».

Du ser knapper for hver av kontraktens funksjoner og offentlige tilstandsvariabler. Disse knappene har ulike farger:

  • Blå: View-/pure-funksjoner (skrivebeskyttet, uten transaksjonskostnad).
  • Oransje: Non-payable-funksjoner (endrer tilstand og krever en transaksjon).
  • Rød: Payable-funksjoner (endrer tilstand og kan motta Ether).

Lese kontrakttilstand: «count»

Counter-kontrakten vår har en offentlig tilstandsvariabel kalt count. Når en tilstandsvariabel deklareres som public, oppretter Solidity automatisk en getter-funksjon for den.

Klikk på den blå «count»-knappen i grensesnittet for den distribuerte kontrakten. Den opprinnelige verdien, 0, vises under knappen.

Endre kontrakttilstand: «increment()»

La oss nå endre kontraktens tilstand. Klikk på den oransje «increment»-knappen.

Dette starter en transaksjon. Du ser en ny transaksjon i terminalen. Når den er utvunnet (nesten umiddelbart i JS VM), klikker du på den blå «count»-knappen igjen. Verdien skal nå være 1!

Prøv også å klikke på «decrement» og se hvordan verdien endres.

Kjapp sjekk: Remix-distribusjon

Hvilket av alternativene nedenfor beskriver best hovedformålet med «JavaScript VM»-miljøet i Remix?

Oppsummering: Distribusjon og samhandling

Gratulerer! Du har lært de viktigste stegene for å distribuere og samhandle med smartkontrakter ved hjelp av Remix IDE:

  • Brukt panelet «Deploy & Run transactions».
  • Valgt «JavaScript VM» som simulert miljø.
  • Distribuert en enkel Counter-kontrakt.
  • Samhandlet med den offentlige variabelen og funksjonene for å lese og endre tilstanden.

Denne praktiske erfaringen er viktig for å forstå hvordan smartkontrakter eksisterer og fungerer på blokkjeden!

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 «Distribuere og samhandle» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende om Web3- og DApp-utvikling, inkludert «Distribuere og samhandle», 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 «Distribuere og samhandle»?

Øv på å distribuere de kompilerte smartkontraktene til et simulert blokkjede-miljø og samhandle med funksjonene deres gjennom Remix-grensesnittet. 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 «Distribuere og samhandle»?

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. Oversikt over Remix IDE
  2. Kompilere smartkontrakter
  3. Distribuere og samhandle
← Tilbake til Grunnleggende om Web3- og DApp-utvikling