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

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

Soliditet har kommit långt sedan den föreslogs först 2014 och senare utvecklades av Ethereums Solidity -team. Det finns hundratusentals utvecklare som använder programmeringsspråket för att skapa blockchain-baserade tjänster för ett växande antal användningsfall.





Den här artikeln förklarar vad soliditet är och hur det används i Ethereums ekosystem. Den här artikeln är för dig om du är intresserad av att lära dig mer om de inre funktionerna i detta blockchain-baserade programmeringsspråk.





hur många personer kan vara på netflix

Vad är soliditet?

Solidity är ett objektorienterat programmeringsspråk på hög nivå som används för att skapa smarta kontrakt som automatiserar transaktioner på blockchain. Efter att ha föreslagits 2014 utvecklades språket av bidragsgivare till Ethereum -projektet. Språket används främst för att skapa smarta kontrakt på Ethereum blockchain och skapa smarta kontrakt på andra blockchains.





Soliditet liknar ett av de vanligaste programmeringsspråken, JavaScript. Det kan betraktas som en dialekt av JavaScript. Det betyder att om du förstår JavaScript kan det vara enkelt att hämta Solidity. Solidity delar också liknande egenskaper som programmeringsspråken C ++ och Python.

Som ett språk på hög nivå gör Solidity bort behovet av att skriva kod i enor och nollor. Det gör det mycket lättare för människor att skriva program på sätt som de har lättare att förstå, med hjälp av en kombination av bokstäver och siffror.



Soliditet skrivs statiskt, med stöd för arv, bibliotek och komplexa användardefinierade typer. Eftersom Solidity är statiskt angiven anger användaren mycket varje variabel. Datatyper gör att kompilatorn kan kontrollera att variabler används korrekt. Datatyper för soliditet brukar kategoriseras som antingen värdetyper eller referenstyper.

Huvudskillnaden mellan värdetyper och referenstyper finns i hur de tilldelas en variabel och lagras i EVM (Ethereum Virtual Machine). Även om ändringen av värdet i en variabel av en värdetyp inte påverkar värdet i en annan variabel, kan alla som hänvisar till ändrade värden i referenstypvariabler få uppdaterade värden.





Hur fungerar soliditet?

Det fina med Ethereum -ekosystemet är att så många olika kryptovalutor och decentraliserade applikationer kan använda det. Smarta kontrakt gör det möjligt att skapa unik teknik på Ethereum för alla typer av företag och organisationer.

Varje år spenderar världen miljarder dollar på blockchain -lösningar. Många av dessa lösningar skapas med Solidity. Smarta kontrakt byggda med Solidity kan ses som ett sätt att automatisera affärsprocesser och icke-affärsprocesser mellan olika människor. Detta säkerställer att människor som gör transaktioner på blockchain inte behöver oroa sig för risker som bedrägeri eller att inte kunna använda samma valuta.





En av nyckelkomponenterna som gör körningen av Solidity -kod möjlig är EVM. EVM beskrivs som en virtuell dator på blockchain som förvandlar människors idéer till kod som kör applikationer på blockchain.

Under huven skapar Solidity kod på maskinnivå som körs på EVM. En kompilator används för att bryta ner högläsbar kod som kan läsas av människor, som den blir till instruktioner som processorn läser. Olika plattformar erbjuder gratis Solidity-sammanställning, inklusive Remix online-kompilator och en nedladdad kommandoliknande kompilator på en dator.

EVM smarta kontrakt har vissa begränsningar som måste åtgärdas. En av de viktigaste av dessa är den begränsade tillgången till användbara biblioteksfunktioner för analys av JSON-strukturer eller flytande aritmetik.

Offentliga och privata funktioner

Offentliga funktioner liknar API: er som alla i världen kan komma åt. Vem som helst kan ringa dem i deras kod. Offentliga funktioner är i många fall utformade för delade processer på en plattform som alla användare använder.

Till exempel kan en offentlig funktion göras så att alla användare av en plattform kan kontrollera sitt kontosaldo. Ett av de vanligaste sätten att utnyttja smarta kontrakt är genom offentliga funktioner.

Relaterat: Vad är en blockchain och hur fungerar det?

Även om smarta kontrakt kan vara enkla att skriva med Soliditet, är det ofta mycket svårt att skriva dem säkert. Till exempel, om uttagningsfunktionen i ett smart kontrakt inte är säker, kan en angripare manipulera den sårbara funktionen för att tömma ett konto på pengar.

En angripare kan anropa en uttagsfunktion för att skicka pengar till ett annat konto med hjälp av en loop som upprepade gånger gör uttagningsfunktionen.

Privata funktioner kan endast ringas inifrån kontrakten. De innehåller instruktioner som bara kan köras efter att ha använts av andra funktioner i en kedja. Detta gör det svårare för koden att manipuleras av skadliga aktörer.

Standarder och kodlogik

Olika standarder växer fram som avgör hur smarta kontrakt för soliditet används för att bygga applikationer på Ethereum. Dessa standarder kallas ERC -standarder (Ethereum Request for Comments). Standarderna bygger på ett dokument som innehåller riktlinjer för de nödvändiga funktionerna och begränsningar för hur koden ska bete sig.

ERC -standarderna som avgör hur soliditet fungerar inkluderar:

  • ERC20
  • ERC165
  • ERC721
  • ERC223
  • ERC621
  • ERC777
  • ERC827
  • ERC884
  • ERC865
  • ERC1155

Det finns olika sätt Solidity kan användas för att få smarta kontrakt att interagera med varandra. Soliditet kan också användas för att göra särskilda instruktioner om hur data lagras i det smarta kontraktet. Logiken och data i smarta kontrakt kan separeras med Solidity. Med hjälp av ersättningsavtal kan logik för ett kontrakt ändras för att möjliggöra detta.

Oföränderlighet

Det är omöjligt att ändra koden för ett smart kontrakt efter att det har skrivits och sammanställts. Detta innebär att varje kodrad måste fungera som avsett eller annars kan det finnas allvarliga risker för att koden utnyttjas.

Relaterat: Hur man blir Blockchain -programmerare och börjar tjäna stora pengar

Eftersom Ethereum -blockchain är oföränderlig är det omöjligt att ändra data och logik som skrivs till den. Ett sätt att komma runt detta är att använda en proxy för att peka på ett annat kontrakt som innehåller verklig affärslogik. Detta gör att buggar kan åtgärdas medan en ny version av kontraktet implementeras.

app som berättar vilken låt som spelas

Gaskostnader

Det finns extra kostnader som betalas för att använda Solidity på Ethereum mainnet. Några av de extra kostnaderna är baserade på gassystemet på Ethereum, som kräver betalning till gruvarbetare för att säkra blockchain -nätverket så att koden kan köras säkert på den.

När du skriver smarta kontrakt är det viktigt att komma ihåg att gaskostnader kan avgöra hur effektivt ett smart kontrakt är. Eftersom gasavgifter betalas för varje lagringsplats som används, kostar åtgärder som utförs med Solidity -kod gas. Ett smart kontrakt som är dyrt att driva kommer sannolikt inte att användas på lång sikt.

Gasoptimering hjälper till att minska gaskostnaderna när Solidity -koden körs. Några av de mest populära metoderna för gasoptimering inkluderar användning av bibliotek och användning av färre funktioner. Bibliotek används ofta för att spara bytekod.

Istället för att lägga till onödig bytekod till det smarta kontraktet kan logiken läggas till bibliotek. Detta hjälper till att hålla den smarta kontraktstorleken liten. Genom att använda färre funktioner behövs mindre bytekod och svårigheten att granska koden minskar också.

Hur kan soliditet användas i Ethereum?

Soliditet används för att skapa smarta kontrakt för fungibla tokens och icke-fungibla tokens. Olika standarder används för att bygga icke-fungibla tokens och fungible tokens i Ethereums ekosystem.

Dessa gör det möjligt att skapa olika typer av användningsfall för människor som använder blockchain. Soliditet gör det möjligt för människor att använda tokens och icke-fungibla tokens på Ethereum. Från att mynta icke-svampbara tokens till att lägga till dem för att ge jordbrukspooler för extra intresse, möjliggör olika typer av användningar för tokens av Ethereum.

Decentraliserade autonoma organisationer (DAO) möjliggörs också av Soliditet. En DAO, som är en ny typ av online -organisationsstruktur, är främst skriven i Solidity. DAO: er låter olika människor träffas som medlemmar på en onlineplattform där de röstar om DAO: s viktiga beslut.

Soliditet gör det möjligt att automatisera processer inom DAO. Exempel på processautomatisering i DAO inkluderar röstning av viktiga beslut och tilldelning av rykte till DAO -medlemmar för deras bidrag till gruppen.

Definiera standarder för blockchains

Soliditet är mycket mer än ett programmeringsspråk. Det definierar standarder för framtiden för blockchain -teknik.

Tack vare antalet open-source-utvecklare som arbetar för att förbättra säkerheten och prestandan för Soliditet, fortsätter tusentals applikationer i Ethereum-ekosystemet att vara beroende av det för att deras applikationer ska fungera. När nya standarder skapas för smarta kontrakt i Ethereum blir språket säkrare att använda.

Dela med sig Dela med sig Tweet E-post Är ett verkligt decentraliserat internet möjligt? Hur det skulle kunna fungera med Blockchain

Är ett verkligt decentraliserat internet möjligt? Vad betyder decentralisering, och hur skulle det skydda dig?

Läs Nästa
Relaterade ämnen
  • Teknik förklaras
  • Programmering
  • Ethereum
  • Blockchain
Om författaren Calvin Ebun-Amu(48 artiklar publicerade)

Calvin är en författare på MakeUseOf. När han inte tittar på Rick och Morty eller hans favoritidrottslag skriver Calvin om startups, blockchain, cybersäkerhet och andra teknikområden.

Mer från Calvin Ebun-Amu

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