Solidity is de programmeertaal die wordt gebruikt door slimme contracten op de Ethereum-blockchain. Het is een statisch getypeerde, objectgeoriënteerde programmeertaal.
Solidity gebruikt een semantisch versiebeheerschema en op het moment van schrijven is de nieuwste versie 0.8.9. Zoals u kunt zien, gebruikt de taal een semantisch XYZ-versieformaat, dat aangeeft hoe snel de wijzigingen zijn.
Programmeertalen zoals C++ en JavaScript inspireerden de Solidity-taal. In deze handleiding zie je hoe je je eerste slimme contract kunt schrijven en samenstellen.
De Remix-editor
Er zijn veel teksteditors en compilers die je kunt gebruiken om Solidity-code te schrijven, maar de eenvoudigste is Remix . Remix is een online IDE waarmee u uw Solidity-code kunt schrijven en debuggen. Wanneer je Remix voor het eerst bezoekt, zou je een bestemmingspagina moeten zien die lijkt op die hieronder.
Uw eerste slimme contract schrijven
Klik eerst op het pictogram Nieuw bestand maken op het tabblad Verkenners. Het pictogram ziet eruit als een pagina papier met een omgevouwen hoek. Noem het nieuwe bestand helloWorld.sol . Gebruik de .sol- extensie om aan te tonen dat het bestand Solidity-code bevat.
U kunt nu onderstaande code naar uw nieuwe bestand kopiëren. Hieronder volgt per regel een toelichting.
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.1; contract FirstContract { uint var1; function set(uint x) public { var1 = x; } function get() public view returns (uint) { return var1; } }
De eerste regel geeft de licentie weer waaronder iemand de software mag gebruiken en distribueren. De code in het bovenstaande voorbeeld gebruikt de GPL versie 3.0 . U kunt deze vervangen door elke andere licentie, zoals de MIT-licentie .
De tweede regel toont een pragma- richtlijn die de compiler vertelt om elke Solidity-versie van 0.8.1 tot 0.9.0 te gebruiken, maar zonder 0.9.0. Dat wil zeggen, >= 0.8.1 tot < 0.9.0.="">
Het is ook belangrijk om deze regel op te nemen om incompatibiliteit tussen uw code en de compilerversie te voorkomen.
Gerelateerd: Wat is Solidity en hoe wordt het gebruikt om slimme contracten te ontwikkelen?
Er zijn meestal kleine wijzigingen of patches binnen de xy Z- versies. Brekende veranderingen zijn normaal gesproken aanwezig in x. Y .z-versies. Dit is de reden waarom de pragma- richtlijn de 0.9.0-versie niet bevat in de bovenstaande code.
Solidity is een objectgeoriënteerde taal. Het contract- trefwoord op regel vier is vergelijkbaar in gebruik met het class- trefwoord in andere objectgeoriënteerde talen.
Contracten kunnen functies, toestandsvariabelen en andere geavanceerde typen bevatten. Het contract FirstContract bevat een niet-ondertekend geheel getal ( eenheid ) genaamd var1 .
De twee functies genaamd set() en get() zijn respectievelijk setter- en getter-functies voor de variabele var1 . U kunt een functie definiëren met het trefwoord functie gevolgd door de functienaam en haakjes.
Tussen haakjes kunt u de parameters declareren die uw functie zal aannemen. U moet ze op dezelfde manier schrijven als variabeledefinities: vermeld het gegevenstype gevolgd door de parameternaam.
Gerelateerd: Wat is Monero en hoe beschermt het uw privacy?
Merk op dat de definities van de functies set() en get() het trefwoord public bevatten . Dit verklaart dat elk ander contract ze kan bellen.
Compileren en implementeren
Om uw code te compileren, klikt u op de Solidity-compilerknop . Als je de muisaanwijzer over de knoppen aan de linkerkant van de editor beweegt, zou je de naam van de knop moeten kunnen zien.
Klik nu op de knop met de tekst Compile helloWorld.sol . Als de compiler geen fouten tegenkomt, heb je met succes je eerste slimme contract gecompileerd.
Om uw code te implementeren, klikt u op de knop Transacties implementeren en uitvoeren . Deze knop bevindt zich net onder de Solidity-compilerknop in het linkermenu. Zorg er op deze pagina voor dat uw contractnaam correct wordt weergegeven boven de knop Implementeren .
Eenmaal bevestigd, kunt u nu op Deploy klikken om uw code op het huidige lokale testnetwerk uit te voeren, zonder transactiekosten.
DApps maken op het Ethereum-netwerk
Nadat u hebt geleerd hoe u slimme contracten kunt maken, zou uw volgende stop moeten zijn om te leren hoe u gedecentraliseerde apps (DApps) kunt maken. Dit zijn op blockchain gebaseerde applicaties die draaien op een netwerk zonder toestemming. Dit is het mooie van slimme Ethereum-contracten.
Je hebt de mogelijkheid om krachtige P2P-applicaties op Ethereum te maken.