Smarta blockkedjekontrakt med Solidity · Lektion

Kompilera och driftsätta kontrakt

Lär er att kompilera Solidity-kod till bytekod och driftsätta kontrakt till ett lokalt utvecklingsnätverk.

Lektion 2 av 411 steg

Kompilera och driftsätta kontrakt är en gratis lektion i Smarta blockkedjekontrakt med Solidity på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Smarta blockkedjekontrakt med Solidity, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Smarta blockkedjekontrakt med Solidity innehåller totalt 4 lektioner.

Introduktion till kompilering och distribution

Utmärkt arbete med att konfigurera din miljö! Nu ska vi ge din Solidity-kod liv. Den här lektionen behandlar två viktiga steg: kompilering och distribution av dina smarta kontrakt.

Tänk på det som att bygga en app: först skriver du koden, sedan omvandlar du den till något som en dator kan köra (kompilering), och slutligen placerar du den någonstans där andra kan använda den (distribution).

Vad är kompilering?

Kompilering är processen där din läsbara Solidity-kod omvandlas till maskinläsbar bytekod. Ethereum Virtual Machine (EVM) förstår denna bytekod.

  • Solidity är ett högnivåspråk.
  • EVM kör lågnivåbytekod.
  • Kompilatorn fungerar som en översättare mellan dem.

Kompilera med Hardhat

Hardhat gör kompileringen enkel. När dina Solidity-filer finns i mappen contracts/ behöver du bara köra ett kommando i terminalen.

Kommandot instruerar Hardhat att hitta alla .sol-filer och kompilera dem till bytekod.

npx hardhat compile

Förstå artifacts

Efter kompileringen skapar Hardhat en mapp som heter artifacts/. Där hittar du JSON-filer för varje kontrakt. Filerna innehåller viktig information:

  • Bytekod: Kod som kan köras av EVM.
  • ABI (Application Binary Interface): Beskriver hur du interagerar med kontraktet.
  • Källkodskarta: Hjälper till vid felsökning genom att koppla bytekod till källkod.

Vad är distribution?

Distribution innebär att skicka kontraktets bytekod till ett blockkedjenätverk. När kontraktet har distribuerats finns det på nätverket och vem som helst kan interagera med det.

Varje distribution kostar gas (en transaktionsavgift) och resulterar i en unik kontraktsadress på blockkedjan.

Lokala utvecklingsnätverk

Innan du distribuerar till ett offentligt nätverk som Ethereum Mainnet är det viktigt att testa kontrakten på ett lokalt utvecklingsnätverk.

Hardhat levereras med ett eget inbyggt nätverk som passar perfekt för snabba, kostnadsfria och isolerade tester. Det återställs varje gång du startar om det.

Vårt exempelkontrakt

Innan vi kan distribuera behöver vi ett kontrakt! Vi använder ett enkelt Greeter.sol-kontrakt. Kontraktet lagrar en hälsning och låter dig ändra den.

Spara detta i mappen contracts/:

/* contracts/Greeter.sol */
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract Greeter {
    string private greeting;

    constructor(string memory _greeting) {
        greeting = _greeting;
    }

    function greet() public view returns (string memory) {
        return greeting;
    }

    function setGreeting(string memory _greeting) public {
        greeting = _greeting;
    }
}

Distributionsskriptet

Det här JavaScript-skriptet, som sparas som scripts/deploy.js, instruerar Hardhat hur vårt Greeter-kontrakt ska distribueras till nätverket.

Det använder Hardhats inbyggda integration med ethers.js för att hantera distributionen av kontraktet. Prova att köra exemplet:

// scripts/deploy.js
async function main() {
  const Greeter = await ethers.getContractFactory("Greeter");
  const greeter = await Greeter.deploy("Hello, CoddyKit!");

  await greeter.deployed();

  console.log("Greeter deployed to:", greeter.address);
}

main()
  .then(() => process.exit(0))
  .catch((error) => {
    console.error(error);
    process.exit(1);
  });

Köra distributionsskriptet

När kontraktet är kompilerat och distributionsskriptet är klart är det dags att distribuera! Öppna terminalen och kör det här kommandot:

Hardhat startar automatiskt sitt lokala nätverk, distribuerar kontraktet och stänger sedan av nätverket (såvida du inte först kör npx hardhat node).

npx hardhat run scripts/deploy.js

Testa dina kunskaper

Nu kontrollerar vi din förståelse av kompilerings- och distributionsprocessen i Hardhat.

Dina kontrakt är aktiva!

Du har nu lärt dig att kompilera din Solidity-kod till bytekod och distribuera den till ett lokalt utvecklingsnätverk!

  • Kompilera: Omvandlar Solidity till EVM-byte­kod och skapar ABI.
  • Distribuera: Placerar kontraktets bytekod på en blockkedja.
  • Hardhat Network: Idealiskt för lokala tester.

Härnäst får du lära dig att interagera med dessa distribuerade kontrakt!

Gratis att börja

Lär dig Smarta blockkedjekontrakt med Solidity 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
12
Lektioner
48

Vanliga frågor

Är lektionen ”Kompilera och driftsätta kontrakt” gratis?

Ja – hela texten till ”Kompilera och driftsätta kontrakt” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Smarta blockkedjekontrakt med Solidity, kan Ni uppgradera till CoddyKit PRO. Kursen i Smarta blockkedjekontrakt med Solidity innehåller totalt 4 lektioner.

Vad lär jag mig i ”Kompilera och driftsätta kontrakt”?

Lär er att kompilera Solidity-kod till bytekod och driftsätta kontrakt till ett lokalt utvecklingsnätverk. Ni övar på Smarta blockkedjekontrakt med Solidity 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 Smarta blockkedjekontrakt med Solidity?

Du behöver inga förkunskaper. Utbildningen i Smarta blockkedjekontrakt med Solidity 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 2 av 4.

Hur lång tid tar lektionen ”Kompilera och driftsätta kontrakt”?

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 Smarta blockkedjekontrakt med Solidity-lektionen?

Ja. Varje Smarta blockkedjekontrakt med Solidity-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

  1. Konfigurera Hardhat eller Truffle
  2. Kompilera och driftsätta kontrakt
  3. Interagera med driftsatta kontrakt
  4. Skriva och köra kontraktstester
← Tillbaka till Smarta blockkedjekontrakt med Solidity