Distribuera och interagera
Öva på att distribuera era kompilerade smarta kontrakt till en simulerad blockkedjemiljö och interagera med deras funktioner via Remix-gränssnittet.
Distribuera och interagera är en gratis lektion i Grunderna i Web3- och DApp-utveckling på CoddyKit. Detta är lektion 3 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Web3- och DApp-utveckling, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Web3- och DApp-utveckling innehåller totalt 3 lektioner.
Vad innebär distribution av smarta kontrakt?
Ni har lärt Er att skriva och kompilera smarta kontrakt i Remix. Nästa steg är att distribuera dem.
Att distribuera ett kontrakt innebär att publicera dess kompilerade kod på en blockkedja. När kontraktet har distribuerats blir det ett oföränderligt, självexekverande program som är tillgängligt för alla på nätverket.
Remix panel för distribution och körning
Remix IDE har en särskild panel för distribution och interaktion. Leta efter plugin-programmet 'Deploy & Run transactions', som vanligtvis visas med en Ethereum-logotyp.
I denna panel kan Ni:
- Välja en blockkedjemiljö.
- Välja ett konto för distribution.
- Distribuera kompilerade kontrakt.
- Interagera med distribuerade kontrakt.
Välja blockkedjemiljö
Innan Ni distribuerar måste Ni ange vilken blockkedja Remix ska använda. I rullgardinsmenyn 'Environment' visas följande alternativ:
- JavaScript VM: En lokal, simulerad blockkedja i webbläsaren. Perfekt för testning!
- Injected Provider: Ansluter till en extern plånbok, till exempel MetaMask.
- Web3 Provider: Ansluter till en anpassad RPC-slutpunkt, till exempel en lokal Hardhat-nod.
I den här lektionen använder vi JavaScript VM.
Testkonton i JavaScript VM
När Ni väljer 'JavaScript VM' tillhandahåller Remix automatiskt flera testkonton. Dessa konton har förfinansierats med låtsas-Ether (ETH).
Ni använder ett av dessa konton för att distribuera kontraktet. Distributionstransaktionen drar av 'gas' (transaktionsavgifter) från det valda kontots saldo, precis som på en riktig blockkedja.
Gasgräns och värde
I panelen 'Deploy & Run' ser Ni även fälten 'Gas limit' och 'Value'.
- Gasgräns: Den maximala mängd gas (beräkningsarbete) som Ni är beredd att spendera på en transaktion.
- Värde: Den mängd Ether (eller annan inhemsk token) som Ni vill skicka med transaktionen, till exempel för payable-funktioner eller för att skicka pengar till ett kontrakt.
För de flesta enkla distributioner räcker standardvärdet för gasgränsen. Vi låter 'Value' vara 0 tills vidare.
Vårt enkla Counter-kontrakt
Vi använder ett enkelt Counter-kontrakt för att öva på distribution och interaktion. Kontraktet lagrar ett heltal utan tecken och låter oss öka eller minska det.
Kopiera och klistra in denna kod i en ny fil med namnet Counter.sol i Remix och kompilera den sedan.
pragma solidity ^0.8.0;
contract Counter {
uint public count;
constructor() {
count = 0;
}
function increment() public {
count++;
}
function decrement() public {
count--;
}
}Distribuera Counter-kontraktet
När Counter.sol har kompilerats och 'JavaScript VM' har valts:
- Kontrollera att
Counterär valt i rullgardinsmenyn 'CONTRACT'. - Klicka på den orange knappen 'Deploy'.
Ni ser en registrerad transaktion i Remix-terminalen, och det distribuerade kontraktet visas under 'Deployed Contracts'.
Interagera med distribuerade kontrakt
När kontraktet har distribuerats visas det under avsnittet 'Deployed Contracts' i panelen 'Deploy & Run'.
Ni ser knappar för var och en av kontraktets funktioner och publika tillståndsvariabler. Knapparna är färgkodade:
- Blå: View-/pure-funktioner (skrivskyddade, utan transaktionskostnad).
- Orange: Icke-payable-funktioner (ändrar tillståndet och kräver en transaktion).
- Röd: Payable-funktioner (ändrar tillståndet och accepterar Ether).
Läsa kontraktets tillstånd: 'count'
Vårt Counter-kontrakt har en publik tillståndsvariabel som heter count. När en tillståndsvariabel deklareras som public skapar Solidity automatiskt en getter-funktion för den.
Klicka på den blå knappen 'count' i det distribuerade kontraktets gränssnitt. Dess ursprungliga värde, 0, bör visas under knappen.
Ändra kontraktets tillstånd: 'increment()'
Nu ändrar vi kontraktets tillstånd. Klicka på den orange knappen 'increment'.
Detta utlöser en transaktion. Ni ser en ny transaktion i terminalen. När den har brutits (nästan omedelbart i JS VM) klickar Ni på den blå knappen 'count' igen. Värdet bör nu vara 1!
Prova även att klicka på 'decrement' och observera ändringen.
Snabb kontroll: Remix-distribution
Vilket av följande beskriver bäst det huvudsakliga syftet med miljön 'JavaScript VM' i Remix?
Sammanfattning: distribuera och interagera
Grattis! Ni har lärt Er de viktigaste stegen för att distribuera och interagera med smarta kontrakt med hjälp av Remix IDE:
- Använde panelen 'Deploy & Run transactions'.
- Valde 'JavaScript VM' för en simulerad miljö.
- Distribuerade ett enkelt
Counter-kontrakt. - Interagerade med dess publika variabel och funktioner för att läsa och ändra dess tillstånd.
Denna praktiska erfarenhet är avgörande för att förstå hur smarta kontrakt existerar och fungerar på blockkedjan!
Lär dig Grunderna i Web3- och DApp-utveckling med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 29
- Lektioner
- 105
Vanliga frågor
Är lektionen ”Distribuera och interagera” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Web3- och DApp-utveckling, inklusive ”Distribuera och interagera”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Web3- och DApp-utveckling innehåller totalt 3 lektioner.
Vad lär jag mig i ”Distribuera och interagera”?
Öva på att distribuera era kompilerade smarta kontrakt till en simulerad blockkedjemiljö och interagera med deras funktioner via Remix-gränssnittet. Ni övar på Grunderna i Web3- och DApp-utveckling med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Grunderna i Web3- och DApp-utveckling?
Du behöver inga förkunskaper. Utbildningen i Grunderna i Web3- och DApp-utveckling på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Distribuera och interagera”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Grunderna i Web3- och DApp-utveckling-lektionen?
Ja. Varje Grunderna i Web3- och DApp-utveckling-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Översikt över Remix IDE
- Kompilera smarta kontrakt
- Distribuera och interagera