Distribuere og samhandle
Øv på å distribuere de kompilerte smartkontraktene til et simulert blokkjede-miljø og samhandle med funksjonene deres gjennom Remix-grensesnittet.
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:
- Kontroller at
Counterer valgt i rullegardinmenyen «CONTRACT». - 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!
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
- Oversikt over Remix IDE
- Kompilere smartkontrakter
- Distribuere og samhandle