De basis van Web3- en DApp-ontwikkeling · Les

Smart contracts compileren

Leer de Solidity-compiler in Remix gebruiken om fouten te controleren en bytecode en ABI voor uw contracten te genereren.

Les 2 van 312 stappen

Smart contracts compileren is een gratis De basis van Web3- en DApp-ontwikkeling-les op CoddyKit. Dit is les 2 van 3. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De basis van Web3- en DApp-ontwikkeling. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De basis van Web3- en DApp-ontwikkeling bevat in totaal 3 lessen.

Waarom smart contracts compileren?

Smart contracts die in Solidity zijn geschreven, bevatten voor mensen leesbare code. Maar blockchains begrijpen Solidity niet rechtstreeks! Ze hebben een machinevriendelijk formaat nodig.

Daar komt compilatie bij kijken. Deze zet je Solidity-code om in "bytecode", die de Ethereum Virtual Machine (EVM) kan uitvoeren. Ook wordt er een Application Binary Interface (ABI) voor interactie gegenereerd.

Wat is bytecode?

Bytecode is code op laag niveau die machines kunnen lezen en waarin smart contracts worden gecompileerd. Zie het als het uitvoerbare programma voor de Ethereum Virtual Machine (EVM).

Wanneer je een contract implementeert, implementeer je in feite de bytecode ervan op de blockchain. Deze bytecode verwerkt de EVM wanneer iemand met je contract communiceert.

Kennismaking met de ABI

De Application Binary Interface (ABI) is een JSON-array die de functies van je smart contract, hun invoerparameters en hun uitvoertypen beschrijft.

De ABI fungeert als een blauwdruk die andere programma's, zoals de front-end van een DApp, vertelt hoe ze met je geïmplementeerde contract kunnen communiceren. Zonder de ABI weet een front-end niet hoe die een specifieke functie moet aanroepen of de gegevens ervan moet interpreteren.

Het tabblad Compile van Remix

Remix IDE heeft een speciaal tabblad "Solidity Compiler", dat vaak wordt weergegeven met een compilerpictogram in de linkerzijbalk. Hier beheer je al je compilatie-instellingen en -acties.

Wanneer je dit tabblad opent, probeert Remix automatisch je actieve Solidity-bestand te detecteren en te compileren, zodat je snel feedback krijgt.

De compiler-versie instellen

De eerste belangrijke stap is het selecteren van de juiste Solidity-compiler-versie. Je contract specificeert deze meestal met een pragma solidity ^0.8.0;-regel.

Remix stelt vaak een versie voor. Het is belangrijk dat de compiler-versie die je in Remix selecteert overeenkomt met, of compatibel is met, de pragma-richtlijn in je contractbestand. Verschillen kunnen fouten veroorzaken!

EVM-versie en optimalisatie

Je kunt ook de EVM-versie kiezen. Deze hangt samen met de specifieke functies en opcodes die beschikbaar zijn in verschillende harde forks van Ethereum. Voor de meeste nieuwe contracten is de nieuwste stabiele versie geschikt.

Optimalisatie inschakelen is een andere instelling. Wanneer deze is ingeschakeld, probeert de compiler de omvang van de bytecode en de gaskosten van je contract te verlagen. Dit is meestal gunstig, maar kan het debuggen soms moeilijker maken.

Een eenvoudig contract compileren

Open het tabblad "Solidity Compiler" in Remix. Zorg dat je bestand is geselecteerd en dat de compiler-versie overeenkomt met je pragma. Klik vervolgens op de knop "Compile [contract_name].sol".

Als het compileren is gelukt, zie je een groen vinkje naast het compilerpictogram! Zo niet, dan toont Remix fouten of waarschuwingen in de console.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SimpleStorage {
    uint public myNumber;

    function setNumber(uint _newNumber) public {
        myNumber = _newNumber;
    }

    function getNumber() public view returns (uint) {
        return myNumber;
    }
}

De uitvoer bekijken: bytecode

Scroll na een geslaagde compilatie omlaag in het compilertabblad. Je vindt daar een sectie "Bytecode". Deze lange reeks hexadecimale tekens is de gecompileerde code van je contract.

Deze bytecode wordt op de blockchain geïmplementeerd. De code is compact en efficiënt te verwerken voor de EVM, maar niet gemakkelijk leesbaar voor mensen.

De uitvoer bekijken: ABI

Onder de bytecode zie je ook een sectie "ABI". Klik erop om de ABI te kopiëren. Het is een JSON-array met informatie over elke publieke en externe functie, gebeurtenis en toestandsvariabele in je contract.

Deze JSON is essentieel voor elke externe toepassing, zoals een web-DApp, om precies te weten hoe die met je contract op de blockchain moet communiceren.

Veelvoorkomende compilatiefouten

Maak je geen zorgen als je contract niet meteen compileert! Remix geeft nuttige foutmeldingen in de console en rechtstreeks in je code-editor.

  • Syntaxisfouten: Ontbrekende puntkomma's of niet-overeenkomende haakjes.
  • Versieverschil: pragma komt niet overeen met de geselecteerde compiler.
  • Niet-gedefinieerde variabelen/functies: Een typefout in een naam of de naam is niet gedeclareerd.

Lees de foutmeldingen zorgvuldig; vaak verwijzen ze rechtstreeks naar het regelnummer en leggen ze het probleem uit.

Korte controle

Je hebt geleerd over compilatie, bytecode en ABI. Wat is het belangrijkste doel van de ABI van een smart contract?

Samenvatting en volgende stappen

Goed gedaan! Je hebt geleerd dat het compileren van Solidity-code deze omzet in bytecode (voor de EVM) en een ABI genereert (voor externe interactie).

Je hebt ook de compiler van Remix IDE verkend, de compilerinstellingen leren kennen en gezien waar je de gegenereerde bytecode en ABI kunt vinden.

Vervolgens pas je deze kennis toe door je gecompileerde smart contracts te implementeren in een gesimuleerde blockchainomgeving!

Gratis beginnen

Leer De basis van Web3- en DApp-ontwikkeling met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
29
Lessen
105

Veelgestelde vragen

Is de les “Smart contracts compileren” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad De basis van Web3- en DApp-ontwikkeling, waaronder “Smart contracts compileren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus De basis van Web3- en DApp-ontwikkeling bevat in totaal 3 lessen.

Wat leer ik in “Smart contracts compileren”?

Leer de Solidity-compiler in Remix gebruiken om fouten te controleren en bytecode en ABI voor uw contracten te genereren. Je oefent met De basis van Web3- en DApp-ontwikkeling door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met De basis van Web3- en DApp-ontwikkeling te beginnen?

Ervaring vooraf is niet nodig. De basis van Web3- en DApp-ontwikkeling op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 3.

Hoe lang duurt de les “Smart contracts compileren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over De basis van Web3- en DApp-ontwikkeling?

Ja. Elke les over De basis van Web3- en DApp-ontwikkeling bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Overzicht van Remix IDE
  2. Smart contracts compileren
  3. Implementeren en interactie aangaan
← Terug naar De basis van Web3- en DApp-ontwikkeling