Solidity är programmeringsspråket som används av smarta kontrakt på Ethereum blockchain. Det är ett statiskt skrivet, objektorienterat programmeringsspråk.

Solidity använder ett semantiskt versionsschema och i skrivande stund är den senaste versionen 0.8.9. Som du kan se, använder språket ett semantiskt X.Y.Z-versionsformat, vilket indikerar hur snabbt förändringarna är är.

Programmeringsspråk som C++ och JavaScript inspirerade Solidity-språket. I den här guiden ser du hur du kan skriva och sammanställa ditt första smarta kontrakt.

Remixredigeraren

Det finns många textredigerare och kompilatorer som du kan använda för att skriva Solidity-kod, men det enklaste är Remix. Remix är en online-IDE som gör att du kan skriva och felsöka din Solidity-kod. När du först besöker Remix bör du se en målsida som liknar den nedan.

Skriver ditt första smarta kontrakt

Klicka först på Skapa ny fil ikonen på fliken Filutforskare. Ikonen ser ut som en papper med ett hörn omvikt. Namnge den nya filen helloWorld.sol. Använd .sol förlängning för att visa att filen innehåller Solidity-kod.

instagram viewer

Du kan nu kopiera koden nedan till din nya fil. En förklaring för varje rad följer nedan.

// SPDX-License-Identifier: GPL-3.0
pragmatisk soliditet ^0.8.1;
kontrakt FirstContract {
uint var1;
function set (uint x) public {
var1 = x;
}
function get() public view returnerar (uint) {
return var1;
}
}

Den första raden visar licensen under vilken någon får använda och distribuera programvaran. Koden i exemplet ovan använder GPL version 3.0. Du kan ersätta denna med vilken annan licens som helst som MIT-licens.

Den andra raden visar en pragma direktiv som säger åt kompilatorn att använda valfri Solidity-version från 0.8.1 till 0.9.0 men inte inklusive 0.9.0. Det vill säga >= 0.8.1 till < 0.9.0.

Det är också viktigt att inkludera den här raden för att undvika inkompatibilitet mellan din kod och kompilatorversionen.

Relaterad: Vad är soliditet och hur används det för att utveckla smarta kontrakt?

Det finns vanligtvis mindre förändringar, eller fläckar, inom x.y.Z versioner. Brytande förändringar är normalt närvarande i x.Y.z-versioner. Det är därför pragma direktivet inkluderar inte versionen 0.9.0 i ovanstående kod.

Soliditet är ett objektorienterat språk. De kontrakt nyckelordet på rad fyra liknar i användningen klass nyckelord på andra objektorienterade språk.

Kontrakt kan innehålla funktioner, tillståndsvariabler och andra avancerade typer. Kontraktet Första kontraktet innehåller ett osignerat heltal (enhet) ringde var1.

De två namngivna funktionerna uppsättning() och skaffa sig() är setter- respektive getterfunktioner för variabeln var1. Du kan definiera en funktion med nyckelordet fungera följt av funktionsnamnet och parenteser.

Inom parentes kan du deklarera parametrarna som din funktion kommer att ta. Du bör skriva dem på ett liknande sätt som variabeldefinitioner: ange datatypen följt av parameternamnet.

Relaterad: Vad är Monero och hur skyddar det din integritet?

Observera att definitionerna av uppsättning() och skaffa sig() funktioner innehåller nyckelordet offentlig. Detta förklarar att alla andra kontrakt kan kalla dem.

Kompilera och distribuera

För att kompilera din kod, klicka på Solidity kompilator knapp. När du håller muspekaren över knapparna på vänster sida av redigeraren bör du kunna se knappens namn.

Klicka nu på knappen som står Kompilera helloWorld.sol. Om kompilatorn inte stöter på några fel, har du framgångsrikt kompilerat ditt första smarta kontrakt.

För att distribuera din kod, klicka på Distribuera och kör transaktioner knapp. Den här knappen är precis under Solidity kompilator knappen i menyn till vänster. När du är på den här sidan, se till att ditt kontraktsnamn visas korrekt ovanför Distribuera knapp.

När du har bekräftat kan du nu klicka Distribuera för att köra din kod på det aktuella lokala testnätverket, utan transaktionsavgifter.

Skapa DApps på Ethereum-nätverket

Efter att ha lärt dig hur man skapar smarta kontrakt bör nästa stopp vara att lära sig hur man skapar decentraliserade appar (DApps). Dessa är blockkedjebaserade applikationer som körs på ett tillåtslöst nätverk. Det här är det fina med Ethereums smarta kontrakt.

Du kommer att ha möjligheten att skapa kraftfulla P2P-applikationer på Ethereum.

Lär dig hur du skapar dina egna DApps på Ethereum

Drömmer du om att bli nästa Vitalik Buterin? Det här är utgångspunkten du behöver.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Programmering
  • Programmering
  • Ethereum
  • Blockchain
Om författaren
Jerome Davidson (33 artiklar publicerade)

Jerome är personalskribent på MakeUseOf. Han täcker artiklar om programmering och Linux. Han är också en kryptoentusiast och håller alltid koll på kryptoindustrin.

Mer från Jerome Davidson

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera