Kaj je trdnost in kako se uporablja za razvoj pametnih pogodb?

Kaj je trdnost in kako se uporablja za razvoj pametnih pogodb?

Solidity je že precej napredoval, odkar so jo prvič predlagali leta 2014, kasneje pa jo je razvila ekipa Solidity Ethereum. Obstaja na stotine tisoč razvijalcev, ki uporabljajo programski jezik za ustvarjanje storitev, ki temeljijo na verigi blokov, za vse večje število primerov uporabe.





Ta članek pojasnjuje, kaj je trdnost in kako se uporablja v ekosistemu Ethereum. Ta članek je za vas, če vas zanima več o notranjem delovanju tega programskega jezika, ki temelji na verigi verig.





windows stop code nepričakovana izjema trgovine

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 sodelavci projekta Ethereum razvili jezik. Jezik se uporablja predvsem za ustvarjanje pametnih pogodb na verigi blokov Ethereum in ustvarjanje pametnih pogodb za druge verige blokov.





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

Solidity kot jezik na visoki ravni odpravlja potrebo po vnosu kode v enote in ničle. Ljudem je veliko lažje pisati programe na načine, ki jih lažje razumejo, s kombinacijo črk in številk.



Trdnost je statično tipizirana s podporo za dedovanje, knjižnice in kompleksne uporabniško določene vrste. Ker je trdnost statično tipkana, uporabnik vsako spremenljivko natančno določi. Podatkovni tipi omogočajo prevajalniku, da preveri pravilno uporabo spremenljivk. Podatkovne vrste trdnosti so običajno kategorizirane kot vrste vrednosti ali referenčne vrste.

Glavna razlika med vrstami vrednosti in referenčnimi vrstami je v tem, kako so dodeljene spremenljivki in shranjene v EVM (Ethereum Virtual Machine). Čeprav spreminjanje vrednosti v eni spremenljivki vrste vrednosti ne vpliva na vrednost v drugi spremenljivki, lahko vsakdo, ki se sklicuje na spremenjene vrednosti v spremenljivkah referenčnega tipa, dobi posodobljene vrednosti.





Kako deluje solidnost?

Lepota ekosistema Ethereum je v tem, da ga lahko uporablja toliko različnih kriptovalut in decentraliziranih aplikacij. Pametne pogodbe omogočajo izdelavo edinstvenih tehnologij na Ethereumu za vse vrste podjetij in organizacij.

Svet vsako leto za rešitve blockchain porabi milijarde dolarjev. Mnoge od teh rešitev so ustvarjene s pomočjo programa Solidity. Pametne pogodbe, zgrajene s programom Solidity, si lahko zamislimo kot način za avtomatizacijo poslovnih in ne-poslovnih procesov med različnimi ljudmi. To zagotavlja, da ljudem, ki opravljajo transakcije na blockchainu, ni treba skrbeti za tveganja, kot so goljufije ali nezmožnost uporabe iste valute.





Ena izmed ključnih komponent, ki omogoča izvedbo kode Solidity, je EVM. EVM je opisan kot virtualni računalnik v verigi blokov, ki ideje ljudi spremeni v kodo, ki izvaja aplikacije na verigi blokov.

Pod pokrovom Solidity ustvari kodo na ravni stroja, ki se izvede na EVM-ju. Prevajalnik se uporablja za razčlenitev človeško berljive kode na visoki ravni, ki jo spremeni v navodila, ki jih procesor prebere. Različne platforme ponujajo brezplačno kompilacijo Solidity, vključno s spletnim prevajalnikom Remix in prenesenim ukaznim prevajalnikom v računalniku.

Pametne pogodbe EVM imajo nekatere omejitve, ki jih je treba obravnavati. Eden najpomembnejših med njimi je omejen dostop do uporabnih knjižničnih funkcij 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 vsakdo na svetu. Vsakdo jih lahko pokliče v svoji kodi. Javne funkcije so v mnogih primerih zasnovane za procese v skupni rabi na platformi, ki jih uporabljajo vsi uporabniki.

Na primer, javna funkcija bi lahko omogočila vsem uporabnikom platforme, da preverijo stanje na svojem računu. Eden najpogostejših načinov izkoriščanja pametnih pogodb so javne funkcije.

Povezano: Kaj je Blockchain in kako deluje?

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

Napadalec lahko pokliče funkcijo dviga denarja za pošiljanje denarja na drug račun z uporabo zanke, ki večkrat ponovi funkcijo dviga.

Zasebne funkcije je mogoče poklicati samo znotraj pogodb. Vsebujejo navodila, ki jih je mogoče izvesti šele, ko jih pokličejo druge funkcije v verigi. Zaradi tega zlonamerni akterji otežujejo manipulacijo kode.

Standardi in logika kode

Pojavljajo se različni standardi, ki določajo, kako se pametne pogodbe Solidity uporabljajo za gradnjo 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 omejitvah, kako naj se koda obnaša.

Standardi ERC, ki določajo delovanje Solidity, vključujejo:

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

Solidity lahko uporabite za medsebojno interakcijo pametnih pogodb. Solidnost se lahko uporabi tudi za izdelavo posebnih navodil o tem, kako so podatki shranjeni v pametni pogodbi. Logiko in podatke v pametnih pogodbah je mogoče ločiti s programom Solidity. Z nadomestnimi pogodbami se lahko spremeni logika pogodbe, da se to omogoči.

Nespremenljivost

Kode pametne pogodbe, potem ko je bila napisana in sestavljena, ni mogoče spremeniti. To pomeni, da mora vsaka vrstica kode delovati, kot je predvideno, sicer lahko pride do resnih tveganj pri uporabi kode.

Povezano: Kako postati programer v verigi blokov in začeti zaslužiti velike denarje

Ker je veriga blokov Ethereum nespremenljiva, je nemogoče spremeniti podatke in logiko, ki je zapisana vanj. Način, da se tega izognete, je, da uporabite proxy, da pokažete na drugo pogodbo, ki vsebuje dejansko poslovno logiko. To omogoča odpravljanje napak, medtem ko se izvaja nova različica pogodbe.

kaj je zareza na mobilnem telefonu

Stroški plina

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

Pri pisanju pametnih pogodb se morate spomniti, da lahko stroški plina določijo, kako učinkovita je pametna pogodba. Ker se za vsako uporabljeno režo za shranjevanje plačujejo pristojbine za plin, dejanja, izvedena s kodo Solidity, stanejo plin. Pametna pogodba, ki jo je drago izvajati, dolgoročno verjetno ne bo uporabljena.

Optimizacija plina pomaga zmanjšati stroške plina, ko se izvede koda Solidity. Nekatere izmed najbolj priljubljenih metod optimizacije plina vključujejo uporabo knjižnic in uporabo manj funkcij. Knjižnice se pogosto uporabljajo za shranjevanje bajt kode.

Namesto da bi v pametno pogodbo dodali nepotrebno bajtkodo, lahko logiko damo v knjižnice. To pomaga ohraniti velikost pametne pogodbe majhno. Z uporabo manj funkcij je potrebno manj bajt kode, zmanjšajo pa se tudi težave pri reviziji kode.

Kako lahko trdnost uporabimo v Ethereumu?

Solidity se uporablja za ustvarjanje pametnih pogodb za zamenljive žetone in nezamenljive žetone. Za izdelavo nezamenljivih žetonov in zamenljivih žetonov v ekosistemu Ethereum se uporabljajo različni standardi.

Ti omogočajo ustvarjanje različnih vrst primerov uporabe za ljudi, ki uporabljajo blockchain. Solidity omogoča ljudem uporabo žetonov in nezamenljivih žetonov na Ethereumu. Ethereum od kovanja nezamenljivih žetonov do njihovega dodajanja v kmetijske bazene za dodatno zanimanje omogoča različne vrste žetonov.

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

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

Določanje standardov za verige blokov

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

Zahvaljujoč številnim odprtokodnim razvijalcem, ki si prizadevajo izboljšati varnost in zmogljivost programa Solidity, je na tisoče aplikacij v ekosistemu Ethereum še naprej odvisno od delovanja njihovih aplikacij. Ko bodo v Ethereumu ustvarjeni novi standardi za pametne pogodbe, bo jezik postal varnejši za uporabo.

Deliti Deliti Cvrkutati E-naslov Je res mogoče decentraliziran internet? Kako bi lahko delovalo z Blockchainom

Ali je mogoče resnično decentraliziran internet? Kaj pomeni decentralizacija in kako bi vas zaščitila?

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

Calvin je pisatelj pri MakeUseOf. Ko ne gleda Ricka in Mortyja ali njegovih najljubših športnih ekip, Calvin piše o zagonih, 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, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite