Solidity er programmeringsspråket som brukes av smarte kontrakter på Ethereum-blokkkjeden. Det er et statisk skrevet, objektorientert programmeringsspråk.

Solidity bruker et semantisk versjonsskjema, og i skrivende stund er siste versjon 0.8.9. Som deg kan se, bruker språket et semantisk X.Y.Z-versjonsformat, som indikerer hvor raskt endringene er er.

Programmeringsspråk som C++ og JavaScript inspirerte Solidity-språket. I denne guiden ser du hvordan du kan skrive og kompilere din første smarte kontrakt.

Remix-editoren

Det er mange tekstredigerere og kompilatorer som du kan bruke til å skrive Solidity-kode, men det enkleste er Remiks. Remix er en online IDE som lar deg skrive og feilsøke Solidity-koden din. Når du først besøker Remix, bør du se en landingsside som ligner på den nedenfor.

Skriv din første smarte kontrakt

Først klikker du på Opprett ny fil ikonet i Filutforskere-fanen. Ikonet ser ut som en papirside med et hjørne brettet over. Gi den nye filen et navn helloWorld.sol. Bruke .sol utvidelse for å vise at filen inneholder Solidity-kode.

Du kan nå kopiere koden nedenfor til den nye filen. En forklaring for hver linje følger nedenfor.

// SPDX-License-Identifier: GPL-3.0
pragma soliditet ^0.8.1;
kontrakt FirstContract {
uint var1;
funksjonssett (uint x) public {
var1 = x;
}
funksjon get() public view returnerer (uint) {
return var1;
}
}

Den første linjen viser lisensen som noen kan bruke og distribuere programvaren under. Koden i eksemplet ovenfor bruker GPL versjon 3.0. Du kan erstatte dette med en hvilken som helst annen lisens som MIT-lisens.

Den andre linjen viser en pragma direktiv som forteller kompilatoren å bruke hvilken som helst Solidity-versjon fra 0.8.1 til 0.9.0, men ikke inkludert 0.9.0. Det vil si >= 0.8.1 til < 0.9.0.

Det er også viktig å inkludere denne linjen for å unngå inkompatibilitet mellom koden og kompilatorversjonen.

I slekt: Hva er soliditet og hvordan brukes det til å utvikle smarte kontrakter?

Det er vanligvis mindre endringer, eller flekker, innenfor x.y.Z versjoner. Brytende endringer er normalt tilstede i x.Y.z-versjoner. Dette er grunnen til at pragma direktivet inkluderer ikke 0.9.0-versjonen i koden ovenfor.

Soliditet er et objektorientert språk. De kontrakt søkeordet på linje fire er likt i bruk som klasse nøkkelord på andre objektorienterte språk.

Kontrakter kan inneholde funksjoner, tilstandsvariabler og andre avanserte typer. Kontrakten Første kontrakt inneholder et usignert heltall (enhet) kalt var1.

De to funksjonene som er navngitt sett() og få() er henholdsvis setter- og getter-funksjoner for variabelen var1. Du kan definere en funksjon med nøkkelordet funksjon etterfulgt av funksjonens navn og parenteser.

I parentes kan du deklarere parametrene som funksjonen din vil ta. Du bør skrive dem på en lignende måte som variabeldefinisjoner: angi datatypen etterfulgt av parameternavnet.

I slekt: Hva er Monero og hvordan beskytter det personvernet ditt?

Legg merke til at definisjonene av sett() og få() funksjoner inneholder nøkkelordet offentlig. Dette erklærer at enhver annen kontrakt kan ringe dem.

Kompiler og distribuer

For å kompilere koden din, klikk på Solidity kompilator knapp. Når du holder musepekeren over knappene på venstre side av editoren, bør du kunne se knappens navn.

Klikk nå på knappen som leser Kompiler helloWorld.sol. Hvis kompilatoren ikke støter på noen feil, har du kompilert din første smarte kontrakt.

For å distribuere koden din, klikk på Distribuer og kjør transaksjoner knapp. Denne knappen er rett under Solidity kompilator knappen i menyen til venstre. Mens du er på denne siden, sørg for at kontraktsnavnet ditt vises riktig over Utplassere knapp.

Når du er bekreftet, kan du nå klikke Utplassere for å kjøre koden din på det gjeldende lokale testnettverket, uten transaksjonsgebyrer.

Opprette DApps på Ethereum-nettverket

Etter å ha lært hvordan du lager smarte kontrakter, bør neste stopp være å lære hvordan du lager desentraliserte apper (DApps). Dette er blokkjedebaserte applikasjoner som kjører på et tillatelsesløst nettverk. Dette er det fine med Ethereums smarte kontrakter.

Du vil ha muligheten til å lage kraftige P2P-applikasjoner på Ethereum.

Lær hvordan du lager dine egne DApps på Ethereum

Drømmer du om å bli den neste Vitalik Buterin? Dette er utgangspunktet du trenger.

Les Neste

DelekvitringE-post
Relaterte temaer
  • Programmering
  • Programmering
  • Ethereum
  • Blockchain
Om forfatteren
Jerome Davidson (33 artikler publisert)

Jerome er en stabsskribent hos MakeUseOf. Han dekker artikler om programmering og Linux. Han er også en krypto-entusiast og følger alltid med på kryptoindustrien.

Mer fra Jerome Davidson

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere