Blockchain-smart contracts met Solidity · Les

Implementatie en monitoring op mainnet

Leer best practices voor het implementeren van smart contracts op mainnet, waaronder gasoptimalisatie, verificatie en voortdurende monitoring.

Les 3 van 411 stappen

Implementatie en monitoring op mainnet is een gratis Blockchain-smart contracts met Solidity-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Blockchain-smart contracts met Solidity. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Blockchain-smart contracts met Solidity bevat in totaal 4 lessen.

Klaar voor de echte wereld?

Implementeren op mainnet betekent dat je contract live gaat op de echte Ethereum-blockchain. Hier staat echte waarde op het spel!

In tegenstelling tot testnets kosten transacties hier echte Ether (gas).

  • Mainnet: Het live, openbare blockchainnetwerk.
  • Testnets: Gesimuleerde omgevingen om te testen zonder echt financieel risico.

Je laatste controle vóór de vlucht

Een grondige checklist is cruciaal voordat je op mainnet implementeert. Denk eraan: zodra je code live staat, kun je deze niet eenvoudig meer wijzigen!

  • Audit voltooid? Heb je je code laten beoordelen door beveiligingsexperts?
  • Tests geslaagd? Zijn alle unit-, integratie- en fuzz-tests geslaagd?
  • Gas geoptimaliseerd? Heb je de transactiekosten geminimaliseerd?
  • Afhankelijkheden gecontroleerd? Kloppen alle adressen van externe contracten?

Besparen op transactiekosten

Elke bewerking op de Ethereum-blockchain kost 'gas'. Gas wordt betaald in Ether en dekt de rekeninspanning die je contract gebruikt.

Hoge gaskosten kunnen je contract duur maken in gebruik, waardoor gebruikers worden afgeschrikt. Door gas te optimaliseren bespaar je geld voor je gebruikers en maak je je contract efficiënter.

Slimme manieren om gas te besparen

Kleine wijzigingen kunnen tot grote gasbesparingen leiden. Hier zijn enkele belangrijke strategieën:

  • Schrijfbewerkingen naar opslag beperken: Schrijven naar opslag (statusvariabelen) is erg duur.
  • Efficiënte gegevenstypen gebruiken: Kleinere typen, zoals uint8 in plaats van uint256 als het bereik dat toelaat, kunnen efficiënter worden samengepakt.
  • Opslagvariabelen cachen: Lees opslagvariabelen in het geheugen als je ze meerdere keren in een functie gebruikt.
  • Overbodige controles vermijden: Zorg ervoor dat je logica niet onnodig opnieuw berekent of controleert.

Je code optimaliseren

Laten we bekijken hoe het cachen van een opslagvariabele gas kan besparen. In dit voorbeeld is het efficiënter om myNumber vóór meerdere keren gebruik in een lokale geheugenvariabele _myNumber te lezen.

pragma solidity ^0.8.0;

contract GasSaver {
    uint256 public myNumber;

    constructor(uint256 _initialNumber) {
        myNumber = _initialNumber;
    }

    // Less optimized: Reads myNumber from storage twice
    function incrementAndDoubleLessOptimized() public {
        myNumber++;
        myNumber = myNumber * 2;
    }

    // More optimized: Reads myNumber from storage once
    function incrementAndDoubleOptimized() public {
        uint256 _myNumber = myNumber; // Cache to memory
        _myNumber++;
        _myNumber = _myNumber * 2;
        myNumber = _myNumber; // Write back to storage once
    }
}

Transparantie en vertrouwen

Het verifiëren van je contract op blockchainverkenners zoals Etherscan is cruciaal. Je publiceert hiermee je broncode, zodat deze openbaar kan worden gecontroleerd.

Dit wekt vertrouwen bij gebruikers, omdat zij kunnen bevestigen dat de code overeenkomt met de geïmplementeerde bytecode. Het helpt andere ontwikkelaars ook om correct met je contract te communiceren.

Stappen om je contract te verifiëren

Het verificatieproces omvat doorgaans:

  1. Je contract compileren met exact dezelfde Solidity-compiler en instellingen die voor de implementatie zijn gebruikt.
  2. Naar het adres van je contract navigeren in de blockchainverkenner (bijvoorbeeld Etherscan).
  3. Selecteer "Verify and Publish" en upload je broncode.
  4. De constructorargumenten, indien aanwezig, correct gecodeerd opgeven.

Tools zoals Hardhat en Truffle hebben vaak plug-ins om dit proces te automatiseren.

Je live contract in de gaten houden

Implementatie is niet het einde; het is het begin van de monitoring. Je moet de activiteit van je contract volgen om te controleren of het werkt zoals verwacht en problemen vroegtijdig te detecteren.

Belangrijke zaken om te monitoren zijn het transactievolume, het saldo van het contract, uitgegeven gebeurtenissen en ongebruikelijk gedrag.

Essentiële monitoringtools

Verschillende krachtige tools kunnen je helpen om je geïmplementeerde smart contracts te monitoren:

  • Blockchainverkenners (Etherscan): Bekijk transacties, interne transacties, gebeurtenissen en de toestand van het contract.
  • Tenderly: Biedt realtime monitoring van transacties, foutopsporing en waarschuwingen.
  • Dune Analytics: Maak dashboards om contractgegevens en gebruikersactiviteit te visualiseren.
  • Aangepaste bots/scripts: Stel je eigen waarschuwingen in voor kritieke gebeurtenissen of toestandswijzigingen.

Controle vóór implementatie op mainnet

Je hebt een nieuw contract op het mainnet geïmplementeerd. Wat is de belangrijkste reden om de broncode ervan te verifiëren in een blockchainverkenner zoals Etherscan?

Klaar voor mainnet!

In deze les hebben we belangrijke aspecten van het implementeren van smart contracts op het mainnet behandeld. We hebben het volgende besproken:

  • Het belang van een checklist vóór implementatie.
  • Strategieën voor gasoptimalisatie om transactiekosten te verlagen.
  • De noodzaak van contractverificatie voor transparantie en vertrouwen.
  • Tools en technieken voor doorlopende monitoring van je live contracts.

Implementatie op het mainnet is een belangrijke stap; ga altijd voorzichtig en grondig voorbereid te werk!

Gratis beginnen

Leer Blockchain-smart contracts met Solidity 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
12
Lessen
48

Veelgestelde vragen

Is de les “Implementatie en monitoring op mainnet” gratis?

Ja — de volledige tekst van “Implementatie en monitoring op mainnet” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Blockchain-smart contracts met Solidity wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Blockchain-smart contracts met Solidity bevat in totaal 4 lessen.

Wat leer ik in “Implementatie en monitoring op mainnet”?

Leer best practices voor het implementeren van smart contracts op mainnet, waaronder gasoptimalisatie, verificatie en voortdurende monitoring. Je oefent met Blockchain-smart contracts met Solidity 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 Blockchain-smart contracts met Solidity te beginnen?

Ervaring vooraf is niet nodig. Blockchain-smart contracts met Solidity 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 3 van 4.

Hoe lang duurt de les “Implementatie en monitoring op mainnet”?

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 Blockchain-smart contracts met Solidity?

Ja. Elke les over Blockchain-smart contracts met Solidity 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. Geavanceerd testen met Foundry/Hardhat
  2. Basisprincipes van formele verificatie
  3. Implementatie en monitoring op mainnet
  4. Fuzzing en invariantentests
← Terug naar Blockchain-smart contracts met Solidity