Solidity je že dolgo napredovala, odkar je bila prvič predlagana leta 2014 in jo je kasneje razvila ekipa Ethereum's Solidity. Obstaja na stotine tisoč razvijalcev, ki s programskim jezikom ustvarjajo storitve, ki temeljijo na blockchainu, za vedno večje število primerov uporabe.

Ta članek pojasnjuje, kaj je Solidity in kako se uporablja v ekosistemu Ethereum. Ta članek je namenjen vam, če želite izvedeti več o notranjem delovanju tega programskega jezika, ki temelji na verigi blokov.

Kaj je trdnost?

Solidity je objektno usmerjen programski jezik na visoki ravni, ki se uporablja za ustvarjanje pametnih pogodb, ki avtomatizirajo transakcije v verigi blokov. Po predlogu leta 2014 so jezik razvili sodelavci projekta Ethereum. Jezik se uporablja predvsem za ustvarjanje pametnih pogodb na Ethereum blockchain in ustvarite pametne pogodbe na drugih verigah blokov.

Solidnost je podobna enemu najpogostejših programskih jezikov JavaScript. Lahko ga obravnavamo kot narečje JavaScripta. To pomeni, da če razumete JavaScript, lahko preprosto poberete Solidnost. Solidnost ima tudi podobne značilnosti kot programska jezika C ++ in Python.

instagram viewer

Kot jezik na visoki ravni Solidity odpravlja potrebo po vnosu kode v enotah in ničlah. Ljudem je veliko lažje pisati programe na načine, ki jih lažje razumemo, s kombinacijo črk in številk.

Solidnost je statično natipkana, s podporo za dedovanje, knjižnice in zapletene uporabniško določene vrste. Ker je Solidity statično natipkan, uporabnik veliko določi vsako spremenljivko. Vrste podatkov omogočajo prevajalniku, da preveri pravilno uporabo spremenljivk. Podatkovni tipi trdnosti so običajno kategorizirani kot tipi vrednosti ali referenčni tipi.

Glavno razliko med vrstami vrednosti in referenčnimi tipi lahko najdemo v tem, kako so dodeljene spremenljivki in shranjene v EVM (Ethereum Virtual Machine). Medtem ko spreminjanje vrednosti ene spremenljivke nekega tipa vrednosti ne vpliva na vrednost druge spremenljivke, lahko kdor koli, ki se sklicuje na spremenjene vrednosti v spremenljivkah referenčnega tipa, dobi posodobljene vrednosti.

Kako deluje solidnost?

Lepota ekosistema Ethereum je, da ga lahko uporablja toliko različnih kriptovalut in decentraliziranih aplikacij. Pametne pogodbe omogočajo izdelavo edinstvenih tehnologij na Ethereumu za vsa podjetja in organizacije.

Svet vsako leto za rešitve blockchain zapravi milijarde dolarjev. Mnoge od teh rešitev so ustvarjene s pomočjo Solidity. Pametne pogodbe, zgrajene z uporabo Solidity, si lahko predstavljamo kot način za avtomatizacijo poslovnih in ne-poslovnih procesov med različnimi ljudmi. To zagotavlja, da ljudem, ki opravljajo transakcije v verigi blokov, ni treba skrbeti zaradi tveganj, kot so goljufije ali ne morejo uporabljati iste valute.

Ena od ključnih komponent, ki omogoča izvajanje kode Solidity, je EVM. EVM je opisan kot navidezni računalnik na verigi blokov, ki ideje ljudi pretvori v kodo, ki zažene aplikacije na verigi blokov.

Pod pokrovom Solidity ustvari kodo na ravni stroja, ki se izvede na EVM. Prevajalnik se uporablja za razgradnjo človekom berljive kode na visoki ravni, ki se spremeni v navodila, ki jih prebere procesor. Različne platforme omogočajo brezplačno prevajanje Solidity, vključno s spletnim prevajalnikom Remix in prenesenim ukaznim prevajalnikom v računalniku.

Pametne pogodbe EVM imajo nekatere omejitve, ki jih je treba odpraviti. Eden najpomembnejših med njimi je omejen dostop do uporabnih funkcij knjižnice za razčlenjevanje struktur JSON ali aritmetiko s plavajočo vejico.

Javne in zasebne funkcije

Javne funkcije so podobne API-jem, do katerih lahko dostopa vsak na svetu. Vsakdo jih lahko pokliče v svoji kodi. Javne funkcije so v mnogih primerih zasnovane za skupne procese na platformi, ki jo uporabljajo vsi uporabniki.

Na primer, lahko je na voljo javna funkcija, ki vsem uporabnikom platforme omogoča, da preverijo stanje na svojem računu. Eden najpogostejših načinov izkoriščanja pametnih pogodb je prek javnih funkcij.

Sorodno: Kaj je Blockchain in kako deluje?

Čeprav je pametne pogodbe enostavno napisati s Solidity, jih je pogosto zelo težko varno napisati. Če na primer funkcija umika v pametni pogodbi ni varna, lahko napadalec manipulira z ranljivo funkcijo, da izprazni račun sredstev.

Napadalec lahko pokliče funkcijo dviga in pošlje denar na drug račun z uporabo zanke, ki večkrat ponovi funkcijo dviga.

Zasebne funkcije se lahko pokličejo samo znotraj pogodb. Vsebujejo navodila, ki jih je mogoče izvesti šele, ko jih v verigi pokličejo druge funkcije. Zaradi tega zlonamerni akterji težje manipulirajo s kodo.

Standardi in logika kode

Pojavljajo se različni standardi, ki določajo, kako se pametne pogodbe Solidity uporabljajo za izdelavo aplikacij na Ethereumu. Ti standardi so znani kot standardi ERC (Ethereum Request for Comments). Standardi temeljijo na dokumentu, ki vsebuje smernice o zahtevanih funkcijah in omejitve glede vedenja kode.

Standardi ERC, ki določajo, kako deluje Solidity, vključujejo:

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

Solidity lahko na različne načine uporabimo za interakcijo pametnih pogodb. Solidnost lahko uporabimo tudi za izdelavo namenskih navodil o tem, kako se podatki shranjujejo v pametni pogodbi. Logiko in podatke v pametnih pogodbah je mogoče ločiti s pomočjo Solidity. Z uporabo nadomestnih pogodb lahko logiko pogodbe spremenimo, da to omogočimo.

Nespremenljivost

Ko je pametna pogodba napisana in sestavljena, je nemogoče spremeniti. To pomeni, da mora vsaka vrstica kode delovati, kot je predvideno, sicer bi lahko koda izkoristila resna tveganja.

Sorodno: Kako postati programer Blockchain in začeti zaslužiti

Ker je veriga Ethereum nespremenljiva, je nemogoče spremeniti podatke in logiko, ki so ji zapisani. To lahko rešite tako, da s pomočjo posrednika pokažete na drugo pogodbo, ki vsebuje dejansko poslovno logiko. To omogoča odpravljanje napak med izvajanjem nove različice pogodbe.

Stroški plina

Za uporabo Solidity na glavnem omrežju Ethereum se plačajo dodatni stroški. Nekateri dodatni stroški temeljijo na plinskem sistemu v Ethereumu, ki zahteva plačilo rudarjem za zaščito omrežja blockchain, da lahko koda na njem varno deluje.

Pri pisanju pametnih pogodb je pomembno vedeti, da lahko stroški plina določajo, kako uspešna je pametna pogodba. Ker se plačujejo pristojbine za plin za vsako uporabljeno režo za shranjevanje, dejanja, izvedena s kodo Solidity, stanejo plin. Pametna pogodba, ki je draga za izvajanje, verjetno dolgoročno ne bo uporabljena.

Optimizacija plina pomaga zmanjšati stroške plina, ko se izvaja koda Solidity. Nekateri najbolj priljubljeni načini optimizacije plina vključujejo uporabo knjižnic in uporabo manj funkcij. Knjižnice se pogosto uporabljajo za shranjevanje bajtkode.

Namesto da bi pametni pogodbi dodali nepotrebno bajtno kodo, lahko logiko vstavimo v knjižnice. To pomaga ohranjati majhno velikost pametne pogodbe. Z uporabo manj funkcij je potrebno manj bajtkode in zmanjšana je tudi težava pri revidiranju kode.

Kako lahko trdnost uporabimo v Ethereumu?

Solidnost se uporablja za ustvarjanje pametnih pogodb za zamenljive žetone in nezamenljive žetone. Za vgradnjo nezamenljivih žetonov in zamenljivih žetonov v ekosistem Ethereum se uporabljajo različni standardi.

Ti omogočajo ustvarjanje različnih vrst primerov za ljudi, ki uporabljajo verigo blokov. Solidnost ljudem omogoča uporabo žetonov in nezamenljivi žetoni na Ethereumu. Od kovanja nezamenljivih žetonov do njihovega dodajanja za pridobivanje kmetijskih združb za dodatno zanimanje Ethereum omogoča različne vrste uporabe žetonov.

Tudi decentralizirane avtonomne organizacije (DAO) omogoča Solidity. DAO, ki je nova vrsta spletne organizacijske strukture, je v glavnem napisan v Solidity. DAO različnim ljudem omogočajo, da se združijo kot člani na spletni platformi, kjer glasujejo o ključnih odločitvah DAO.

Solidnost omogoča avtomatizacijo procesov znotraj DAO. Primeri avtomatizacije procesov v DAO vključujejo glasovanje za ključne odločitve in dodelitev ugleda članom DAO za njihov prispevek k skupini.

Določanje standardov za verige blokov

Solidnost je veliko več kot le programski jezik. Določa standarde za prihodnost tehnologije veriženja blokov.

Zahvaljujoč številu odprtokodnih razvijalcev, ki si prizadevajo izboljšati varnost in delovanje Solidity, na tisoče aplikacij v ekosistemu Ethereum je še naprej odvisno od nje za svoje aplikacije delujejo. Z ustvarjanjem novih standardov za pametne pogodbe v Ethereumu bo jezik postal varnejši za uporabo.

E-naslov
Ali je možen resnično decentraliziran internet? Kako lahko deluje z Blockchainom

Je možen resnično decentraliziran internet? Kaj pomeni decentralizacija in kako bi vas varovala?

Preberite Naprej

Sorodne teme
  • Pojasnjena tehnologija
  • Programiranje
  • Ethereum
  • Blockchain
O avtorju
Calvin Ebun-Amu (15 objavljenih člankov)

Calvin je pisatelj pri MakeUseOf. Kadar ne gleda Ricka in Mortyja ali njegovih najljubših športnih ekip, Calvin piše o startupih, blockchainu, kibernetski varnosti in drugih področjih tehnologije.

Več od Calvina Ebun-Amuja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.