Solidity er programmeringssproget, der bruges af smarte kontrakter på Ethereum blockchain. Det er et statisk-type, objektorienteret programmeringssprog.

Solidity bruger et semantisk versionsskema, og i skrivende stund er den seneste version 0.8.9. Som dig kan se, bruger sproget et semantisk X.Y.Z versionsformat, som angiver, hvor hurtigt dets ændringer er.

Programmeringssprog som C++ og JavaScript inspirerede Solidity-sproget. I denne guide vil du se, hvordan du kan skrive og kompilere din første smarte kontrakt.

Remix-editoren

Der er mange teksteditorer og compilere, som du kan bruge til at skrive Solidity-kode, men det nemmeste er Remix. Remix er en online IDE, der giver dig mulighed for at skrive og fejlsøge din Solidity-kode. Første gang du besøger Remix, bør du se en landingsside, der ligner den nedenfor.

At skrive din første smarte kontrakt

Klik først på Opret ny fil ikonet på fanen File Explorers. Ikonet ligner en papirside med et hjørne foldet over. Navngiv den nye fil helloWorld.sol. Brug .sol udvidelse for at vise, at filen indeholder Solidity-kode.

instagram viewer

Du kan nu kopiere nedenstående kode til din nye fil. En forklaring for hver linje følger nedenfor.

// SPDX-License-Identifier: GPL-3.0
pragmatisk soliditet ^0.8.1;
kontrakt FirstContract {
uint var1;
funktionssæt (uint x) public {
var1 = x;
}
function get() public view returnerer (uint) {
returner var1;
}
}

Den første linje viser den licens, som nogen må bruge og distribuere softwaren under. Koden i ovenstående eksempel bruger GPL version 3.0. Du kan erstatte dette med enhver anden licens som f.eks MIT licens.

Den anden linje viser en pragma direktiv, der fortæller compileren at bruge enhver Solidity-version fra 0.8.1 til 0.9.0, men ikke inklusive 0.9.0. Det vil sige >= 0.8.1 til < 0.9.0.

Det er også vigtigt at inkludere denne linje for at undgå inkompatibilitet mellem din kode og compilerversion.

Relaterede: Hvad er soliditet, og hvordan bruges det til at udvikle smarte kontrakter?

Der er normalt mindre ændringer eller pletter inden for x.y.Z versioner. Brydende ændringer er normalt til stede i x.Y.z-versioner. Det er derfor pragma direktivet inkluderer ikke 0.9.0-versionen i ovenstående kode.

Soliditet er et objektorienteret sprog. Det kontrakt søgeord på linje fire ligner i brug til klasse nøgleord på andre objektorienterede sprog.

Kontrakter kan indeholde funktioner, tilstandsvariable og andre avancerede typer. Kontrakten Første kontrakt indeholder et heltal uden fortegn (enhed) hedder var1.

De to navngivne funktioner sæt() og få() er henholdsvis setter- og getter-funktioner for variablen var1. Du kan definere en funktion med nøgleordet fungere efterfulgt af funktionsnavn og parenteser.

I parentes kan du angive de parametre, som din funktion vil tage. Du bør skrive dem på samme måde som variabeldefinitioner: angiv datatypen efterfulgt af parameternavnet.

Relaterede: Hvad er Monero, og hvordan beskytter det dit privatliv?

Bemærk, at definitionerne af sæt() og få() funktioner indeholder nøgleordet offentlig. Dette erklærer, at enhver anden kontrakt kan kalde dem.

Kompiler og implementer

For at kompilere din kode skal du klikke på Solidity compiler knap. Når du holder musemarkøren over knapperne i venstre side af editoren, bør du kunne se knappens navn.

Klik nu på knappen, der læser Kompiler helloWorld.sol. Hvis compileren ikke støder på nogen fejl, har du med succes kompileret din første smarte kontrakt.

For at implementere din kode skal du klikke på Implementer og kør transaktioner knap. Denne knap er lige under Solidity compiler knappen i menuen til venstre. Mens du er på denne side, skal du sikre dig, at dit kontraktnavn vises korrekt over Indsætte knap.

Når du er bekræftet, kan du nu klikke Indsætte at køre din kode på det aktuelle lokale testnetværk, uden transaktionsgebyrer.

Oprettelse af DApps på Ethereum-netværket

Efter at have lært, hvordan man opretter smarte kontrakter, bør dit næste stop være at lære, hvordan man opretter decentraliserede apps (DApps). Disse er blockchain-baserede applikationer, der kører på et tilladelsesløst netværk. Dette er skønheden ved Ethereum smarte kontrakter.

Du har mulighed for at skabe kraftfulde P2P-applikationer på Ethereum.

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

Drømmer du om at blive den næste Vitalik Buterin? Dette er udgangspunktet, du har brug for.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Programmering
  • Ethereum
  • Blockchain
Om forfatteren
Jerome Davidson (33 artikler udgivet)

Jerome er medarbejderskribent hos MakeUseOf. Han dækker artikler om programmering og Linux. Han er også en krypto-entusiast og holder altid styr på kryptoindustrien.

Mere fra Jerome Davidson

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere