Blockchain-smart contracts med Solidity · Lektion

Kompilering og deployment af kontrakter

Lær at kompilere Solidity-kode til bytecode og deploye kontrakter til et lokalt udviklingsnetværk.

Lektion 2 af 411 trin

Kompilering og deployment af kontrakter er en gratis Blockchain-smart contracts med Solidity-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Blockchain-smart contracts med Solidity, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Blockchain-smart contracts med Solidity-kurset indeholder 4 lektioner i alt.

Introduktion til kompilering og udrulning

Godt klaret med konfigurationen af dit miljø! Nu skal vi give din Solidity-kode liv. Denne lektion dækker to vigtige trin: kompilering og udrulning af dine smart contracts.

Tænk på det som at bygge en app: Først skriver du koden, derefter omdanner du den til noget, en computer kan køre (kompilering), og til sidst placerer du den et sted, hvor andre kan bruge den (udrulning).

Hvad er kompilering?

Kompilering er processen, hvor din menneskeligt læsbare Solidity-kode omdannes til maskinlæsbar bytekode. Ethereum Virtual Machine (EVM) forstår denne bytekode.

  • Solidity er et højniveausprog.
  • EVM kører bytekode på lavt niveau.
  • Compileren fungerer som oversætter mellem dem.

Kompilering med Hardhat

Hardhat gør kompilering enkelt. Når dine Solidity-filer ligger i mappen contracts/, skal du blot køre én kommando i din terminal.

Denne kommando beder Hardhat om at finde alle .sol-filer og kompilere dem til bytekode.

npx hardhat compile

Forstå artifacts

Efter kompileringen opretter Hardhat en mappe med navnet artifacts/. Her finder du JSON-filer for hver contract. Disse filer indeholder vigtige oplysninger:

  • Bytekode: Den kode, som EVM kan køre.
  • ABI (Application Binary Interface): Beskriver, hvordan du interagerer med din contract.
  • Kildekort: Hjælper med fejlfinding ved at forbinde bytekode med kildekode.

Hvad er udrulning?

Udrulning er handlingen, hvor du sender din contracts bytekode til et blockchain-netværk. Når den er udrullet, ligger din contract på dette netværk, og alle kan interagere med den.

Hver udrulning koster gas (et transaktionsgebyr) og resulterer i en unik contract-adresse på blockchainen.

Lokale udviklingsnetværk

Før du udruller til et offentligt netværk som Ethereum Mainnet, er det vigtigt at teste dine contracts på et lokalt udviklingsnetværk.

Hardhat leveres med sit eget indbyggede netværk, som er perfekt til hurtig, gratis og isoleret test. Det nulstilles, hver gang du genstarter det.

Vores eksempel på en contract

Før vi kan udrulle noget, skal vi have en contract! Lad os bruge en simpel Greeter.sol-contract. Denne contract gemmer en hilsen og lader dig ændre den.

Gem den i din mappe 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;
    }
}

Udrulningsscriptet

Dette JavaScript-script, der gemmes som scripts/deploy.js, fortæller Hardhat, hvordan vores Greeter-contract skal udrulles til netværket.

Det bruger Hardhats indbyggede ethers.js-integration til at håndtere udrulningen af contracten. Prøv at køre dette eksempel:

// 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ør udrulningsscriptet

Nu er din contract kompileret, og dit udrulningsscript er klar. Det er tid til at udrulle! Åbn din terminal, og kør denne kommando:

Hardhat starter automatisk sit lokale netværk, udruller din contract og lukker derefter ned (medmindre du først kører npx hardhat node).

npx hardhat run scripts/deploy.js

Test din viden

Lad os kontrollere, om du har forstået processen for kompilering og udrulning i Hardhat.

Dine contracts er live!

Du har nu lært at kompilere din Solidity-kode til bytekode og udrulle den til et lokalt udviklingsnetværk!

  • Kompilering: Omdanner Solidity til EVM-bytekode og opretter ABI.
  • Udrulning: Placering af din contracts bytekode på en blockchain.
  • Hardhat Network: Ideelt til lokal test.

Derefter lærer du, hvordan du interagerer med disse udrullede contracts!

Gratis at komme i gang

Lær Blockchain-smart contracts med Solidity med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Kompilering og deployment af kontrakter” gratis?

Ja — hele teksten til “Kompilering og deployment af kontrakter” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Blockchain-smart contracts med Solidity-kurset, skal du opgradere til CoddyKit PRO. Blockchain-smart contracts med Solidity-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Kompilering og deployment af kontrakter”?

Lær at kompilere Solidity-kode til bytecode og deploye kontrakter til et lokalt udviklingsnetværk. Du øver dig i Blockchain-smart contracts med Solidity med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Blockchain-smart contracts med Solidity?

Der kræves ingen tidligere erfaring. Blockchain-smart contracts med Solidity på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Kompilering og deployment af kontrakter”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Blockchain-smart contracts med Solidity-lektion?

Ja. Alle Blockchain-smart contracts med Solidity-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Opsætning af Hardhat eller Truffle
  2. Kompilering og deployment af kontrakter
  3. Interaktion med deployede kontrakter
  4. Skrivning og kørsel af kontrakttests
← Tilbage til Blockchain-smart contracts med Solidity