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

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

Soliditet har kommet langt siden den først ble foreslått i 2014 og senere utviklet av Ethereums Solidity -team. Det er hundretusenvis av utviklere som bruker programmeringsspråket til å lage blockchain-baserte tjenester for et økende antall brukstilfeller.





Denne artikkelen forklarer hva soliditet er og hvordan det brukes i Ethereum -økosystemet. Denne artikkelen er for deg hvis du er interessert i å lære mer om den indre virkemåten til dette blockchain-baserte programmeringsspråket.





xbox one vil ikke koble til wifi lenger

Hva er soliditet?

Solidity er et objektorientert programmeringsspråk på høyt nivå som brukes til å lage smarte kontrakter som automatiserer transaksjoner på blockchain. Etter å ha blitt foreslått i 2014, ble språket utviklet av bidragsytere til Ethereum -prosjektet. Språket brukes først og fremst til å lage smarte kontrakter på Ethereum blockchain og lage smarte kontrakter på andre blokker.





Soliditet ligner et av de vanligste programmeringsspråkene, JavaScript. Det kan betraktes som en dialekt av JavaScript. Dette betyr at hvis du forstår JavaScript, kan det være enkelt å hente Solidity. Solidity deler også lignende egenskaper som programmeringsspråkene C ++ og Python.

Som et språk på høyt nivå slipper Solidity behovet for å skrive kode i en og nuller. Det gjør det mye lettere for mennesker å skrive programmer på måter de finner lettere å forstå, ved å bruke en kombinasjon av bokstaver og tall.



Soliditet er statisk skrevet, med støtte for arv, biblioteker og komplekse brukerdefinerte typer. Siden Soliditet er statisk skrevet, angir brukeren mye hver variabel. Datatyper lar kompilatoren sjekke om variabelen er korrekt brukt. Datatyper for soliditet er vanligvis kategorisert som enten verdityper eller referansetyper.

Hovedforskjellen mellom verdityper og referansetyper finnes i hvordan de er tilordnet en variabel og lagret i EVM (Ethereum Virtual Machine). Selv om endring av verdien i en variabel av en verditype ikke påvirker verdien i en annen variabel, kan alle som refererer til endrede verdier i referansetypevariabler få oppdaterte verdier.





Hvordan fungerer soliditet?

Det fine med Ethereum -økosystemet er at så mange forskjellige kryptokurver og desentraliserte applikasjoner kan bruke det. Smarte kontrakter gjør det mulig å lage unike teknologier på Ethereum for alle typer virksomheter og organisasjoner.

Hvert år bruker verden milliarder av dollar på blockchain -løsninger. Mange av disse løsningene er opprettet ved hjelp av Solidity. Smarte kontrakter bygget med Solidity kan betraktes som en måte å automatisere forretningsprosesser og ikke-forretningsprosesser mellom forskjellige mennesker. Dette sikrer at folk som gjør transaksjoner på blockchain ikke trenger å bekymre seg for risiko som svindel eller ikke å kunne bruke samme valuta.





En av nøkkelkomponentene som gjør utførelsen av soliditetskoden mulig er EVM. EVM beskrives som en virtuell datamaskin på blockchain som gjør folks ideer til kode som kjører applikasjoner på blockchain.

Under panseret lager Solidity kode på maskinnivå som kjøres på EVM. En kompilator brukes til å bryte ned høytlesbar kode på høyt nivå, som den blir til instruksjoner som prosessoren leser. Ulike plattformer gir gratis soliditetskompilering, inkludert Remix online kompilator og en nedlastet kommandolignende kompilator på en PC.

EVM smarte kontrakter har noen begrensninger som må håndteres. En av de mest betydningsfulle av disse er begrenset tilgang til nyttige bibliotekfunksjoner for analyse av JSON-strukturer eller flytende aritmetikk.

Offentlige og private funksjoner

Offentlige funksjoner ligner APIer som alle i verden kan få tilgang til. Hvem som helst kan kalle dem i koden sin. Offentlige funksjoner er i mange tilfeller designet for delte prosesser på en plattform som alle brukere bruker.

For eksempel kan en offentlig funksjon gjøres for å la alle brukere av en plattform sjekke kontosaldoen. En av de vanligste måtene å utnytte smarte kontrakter er gjennom offentlige funksjoner.

Relatert: Hva er en Blockchain og hvordan fungerer det?

Selv om smarte kontrakter kan være enkle å skrive med Soliditet, er det ofte veldig vanskelig å skrive dem sikkert. For eksempel, hvis uttaksfunksjonen i en smart kontrakt ikke er sikker, kan en angriper manipulere den sårbare funksjonen for å tømme en konto for midler.

En angriper kan ringe en uttaksfunksjon for å sende penger til en annen konto ved å bruke en løkke som gjentar gjentatte ganger uttaksfunksjonen.

Private funksjoner kan kun ringes fra innsiden av kontraktene. De inneholder instruksjoner som bare kan utføres etter å ha blitt kalt av andre funksjoner, i en kjede. Dette gjør det vanskeligere for koden å bli manipulert av ondsinnede aktører.

Standarder og kodelogikk

Ulike standarder dukker opp som bestemmer hvordan smarte kontrakter for soliditet brukes til å bygge applikasjoner på Ethereum. Disse standardene er kjent som ERC -standarder (Ethereum Request for Comments). Standardene er basert på et dokument som inneholder retningslinjer for nødvendige funksjoner og begrensninger for hvordan kode skal oppføre seg.

ERC -standardene som bestemmer hvordan soliditet fungerer inkluderer:

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

Det er forskjellige måter Solidity kan brukes til å få smarte kontrakter til å samhandle med hverandre. Soliditet kan også brukes til å lage dedikerte instruksjoner om hvordan data lagres i smartkontrakten. Logikken og dataene i smarte kontrakter kan skilles med Soliditet. Ved å bruke erstatningskontrakter kan logikken i en kontrakt endres for å tillate dette.

Uforanderlighet

Det er umulig å endre koden til en smart kontrakt etter at den er skrevet og kompilert. Dette betyr at hver kodelinje må fungere etter hensikten, ellers kan det være alvorlig risiko for at koden utnyttes.

Relatert: Hvordan bli en Blockchain -programmerer og begynne å tjene store penger

Siden Ethereum -blokkeringen er uforanderlig, er det umulig å endre dataene og logikken som er skrevet til den. En måte å komme rundt dette på er å bruke en proxy for å peke på en annen kontrakt som inneholder faktisk forretningslogikk. Dette gjør det mulig å fikse feil mens en ny versjon av kontrakten implementeres.

beste videoredigerer for android 2016

Gasskostnader

Det er ekstra kostnader som betales for bruk av soliditet på Ethereum -mainnet. Noen av ekstrakostnadene er basert på gasssystemet på Ethereum, som krever betaling til gruvearbeidere for å sikre blockchain -nettverket slik at koden kan kjøre trygt på den.

Når du skriver smarte kontrakter, er det viktig å huske at gasskostnader kan avgjøre hvor effektiv en smart kontrakt er. Ettersom gassgebyrer betales for hver lagringsplass som brukes, koster handlinger som utføres med Solidity -kode gass. En smart kontrakt som er dyr i drift vil neppe bli brukt på lang sikt.

Gassoptimalisering bidrar til å redusere kostnadene for gass når soliditetskoden utføres. Noen av de mest populære metodene for gassoptimalisering inkluderer bruk av biblioteker og bruk av færre funksjoner. Biblioteker brukes ofte til å lagre bytecode.

I stedet for å legge til unødvendig bytekode i den smarte kontrakten, kan logikken settes i biblioteker. Dette bidrar til å holde den smarte kontraktstørrelsen liten. Ved å bruke færre funksjoner trengs det mindre bytekode, og vanskeligheten med å revidere koden reduseres også.

Hvordan kan soliditet brukes i Ethereum?

Soliditet brukes til å lage smarte kontrakter for fungible tokens og ikke-fungible tokens. Ulike standarder brukes for å bygge ikke-soppbare tokens og fungible tokens i Ethereum-økosystemet.

Disse gjør det mulig å opprette forskjellige typer brukstilfeller for folk som bruker blockchain. Soliditet gjør at folk kan bruke tokens og ikke-soppbare tokens på Ethereum. Fra å minte ikke-soppbare tokens til å legge dem til for å gi oppdrettsbassenger for ekstra interesse, er forskjellige bruksområder for tokens muliggjort av Ethereum.

Desentraliserte autonome organisasjoner (DAOer) er også muliggjort av Solidity. En DAO, som er en ny type elektronisk organisasjonsstruktur, er først og fremst skrevet i Solidity. DAOer lar forskjellige mennesker komme sammen som medlemmer på en online plattform der de stemmer over DAOs viktigste beslutninger.

Soliditet gjør det mulig å automatisere prosesser i DAO. Eksempler på prosessautomatisering i DAO inkluderer å stemme for viktige beslutninger og tildele omdømme til DAO -medlemmer for deres bidrag til gruppen.

Definere standarder for blokker

Soliditet er mye mer enn et programmeringsspråk. Det definerer standarder for fremtiden for blockchain -teknologi.

Takket være antallet åpen kildekode-utviklere som jobber med å forbedre sikkerheten og ytelsen til Soliditet, fortsetter tusenvis av applikasjoner i Ethereum-økosystemet å være avhengige av det for at programmene deres skal fungere. Etter hvert som nye standarder opprettes for smarte kontrakter i Ethereum, blir språket tryggere å bruke.

Dele Dele kvitring E -post Er et virkelig desentralisert internett mulig? Hvordan det kan fungere med Blockchain

Er et virkelig desentralisert internett mulig? Hva betyr desentralisering, og hvordan vil det holde deg trygg?

Les neste
Relaterte temaer
  • Teknologi forklart
  • Programmering
  • Ethereum
  • Blockchain
Om forfatteren Calvin Ebun-Amu(48 artikler publisert)

Calvin er forfatter på MakeUseOf. Når han ikke ser på Rick og Morty eller favorittidrettslagene hans, skriver Calvin om oppstart, blockchain, cybersikkerhet og andre teknologiske områder.

Mer fra Calvin Ebun-Amu

Abonner på vårt nyhetsbrev

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

Klikk her for å abonnere