Stingrība ir gājusi garu ceļu, kopš to pirmo reizi ierosināja 2014. gadā un vēlāk izstrādāja Ethereum Solidity komanda. Ir simtiem tūkstošu izstrādātāju, kuri izmanto programmēšanas valodu, lai izveidotu uz blokķēdes balstītus pakalpojumus arvien lielākam skaitam lietojumu.

Šajā rakstā ir paskaidrots, kas ir Solidity un kā to izmanto Ethereum ekosistēmā. Šis raksts ir domāts jums, ja vēlaties uzzināt vairāk par šīs blokķēdes balstītās programmēšanas valodas iekšējo darbību.

Kas ir pamatīgums?

Solidity ir objektorientēta, augsta līmeņa programmēšanas valoda, ko izmanto, lai izveidotu viedus līgumus, kas automatizē darījumus blokķēdē. Pēc ierosināšanas 2014. gadā valodu izstrādāja Ethereum projekta līdzstrādnieki. Valoda galvenokārt tiek izmantota, lai izveidotu viedus līgumus Ethereum blokķēde un izveidojiet viedus līgumus par citiem blokķēdēm.

Cietība ir līdzīga vienai no izplatītākajām programmēšanas valodām - JavaScript. To var uzskatīt par JavaScript dialektu. Tas nozīmē, ka, ja jūs saprotat JavaScript, var būt viegli uzņemt Solidity. Cietībai ir arī līdzīgas īpašības kā programmēšanas valodām C ++ un Python.

instagram viewer

Kā augsta līmeņa valoda, Solidity atceļ nepieciešamību ierakstīt kodu ar nullēm un nullēm. Cilvēkiem ir daudz vieglāk rakstīt programmas tā, lai viņiem būtu vieglāk saprast, izmantojot burtu un ciparu kombināciju.

Stingrība tiek ierakstīta statiski, atbalstot mantojumu, bibliotēkas un sarežģītus lietotāja definētus veidus. Tā kā pamatīgums tiek ierakstīts statiski, lietotājs daudz norāda katru mainīgo. Datu tipi ļauj sastādītājam pārbaudīt mainīgo pareizu izmantošanu. Cietības datu tipi parasti tiek klasificēti kā vērtību tipi vai atsauces tipi.

Galvenā atšķirība starp vērtību tipiem un atsauces tipiem ir atrodama tajā, kā tie tiek piešķirti mainīgajam un tiek glabāti EVM (Ethereum Virtual Machine). Kaut arī vērtības mainīšana vienā vērtības veida mainīgajā neietekmē cita mainīgā vērtību, ikviens, kas atsaucas uz mainītajām vērtībām atsauces tipa mainīgajos, var iegūt atjauninātas vērtības.

Kā darbojas solidaritāte?

Ethereum ekosistēmas skaistums ir tāds, ka to var izmantot tik daudz dažādu kriptovalūtu un decentralizētu lietojumprogrammu. Viedie līgumi ļauj Ethereum izveidot unikālas tehnoloģijas visu veidu uzņēmumiem un organizācijām.

Katru gadu pasaule tērē miljardiem dolāru blokķēdes risinājumiem. Daudzi no šiem risinājumiem tiek veidoti, izmantojot Solidity. Viedus līgumus, kas izveidoti, izmantojot Solidity, var uzskatīt par veidu, kā automatizēt biznesa un ar uzņēmējdarbību nesaistītus procesus starp dažādiem cilvēkiem. Tas nodrošina, ka cilvēkiem, kas veic darījumus ar blokķēdi, nav jāuztraucas par tādiem riskiem kā krāpšana vai nespēja izmantot to pašu valūtu.

Viens no galvenajiem komponentiem, kas padara iespējamu koda izpildi, ir EVM. EVM tiek aprakstīts kā virtuāls dators blokķēdē, kas cilvēku idejas pārvērš kodā, kas palaiž lietojumprogrammas blokķēdē.

Zem pārsega Solidity izveido mašīnas līmeņa kodu, kas tiek izpildīts EVM. Kompilators tiek izmantots, lai sadalītu augsta līmeņa cilvēkiem lasāmu kodu, kas pārvēršas par instrukcijām, kuras procesors nolasa. Dažādas platformas nodrošina bezmaksas Solidity kompilāciju, ieskaitot Remix tiešsaistes kompilatoru un datorā lejupielādētu komandveida kompilatoru.

EVM viedajiem līgumiem ir daži ierobežojumi, kas jāņem vērā. Viens no nozīmīgākajiem no tiem ir ierobežota piekļuve noderīgām bibliotēkas funkcijām, lai analizētu JSON struktūras vai peldošo punktu aritmētiku.

Publiskās un privātās funkcijas

Publiskās funkcijas ir līdzīgas API, kurām var piekļūt ikviens cilvēks pasaulē. Ikviens var piezvanīt viņiem savā kodā. Publiskās funkcijas daudzos gadījumos ir paredzētas koplietošanas procesiem platformā, kuru izmanto visi lietotāji.

Piemēram, varētu veikt publisku funkciju, kas ļautu visiem platformas lietotājiem pārbaudīt konta atlikumu. Viens no visizplatītākajiem viedo līgumu izmantošanas veidiem ir valsts funkcijas.

Saistīts: Kas ir blokķēde un kā tā darbojas?

Kaut arī viedos līgumus var viegli rakstīt ar Solidity, bieži tos ir ļoti grūti droši uzrakstīt. Piemēram, ja viedā līguma izņemšanas funkcija nav droša, uzbrucējs var manipulēt ar neaizsargāto funkciju, lai iztukšotu naudas kontu.

Uzbrucējs varēja izsaukt izņemšanas funkciju, lai nosūtītu naudu uz citu kontu, izmantojot cilpu, kas atkārtoti atkārto izņemšanas funkciju.

Privātās funkcijas var izsaukt tikai no līgumu iekšpuses. Tajos ir instrukcijas, kuras var izpildīt tikai pēc tam, kad ķēdē ir izsauktas citas funkcijas. Tas apgrūtina ļaunprātīgu dalībnieku manipulēšanu ar kodu.

Standarti un koda loģika

Tiek parādīti dažādi standarti, kas nosaka, kā Solidity viedie līgumi tiek izmantoti, lai izveidotu lietojumprogrammas Ethereum. Šie standarti ir pazīstami kā ERC (Ethereum Request for Comments) standarti. Standartu pamatā ir dokuments, kas satur vadlīnijas par nepieciešamajām funkcijām un ierobežojumiem, kā kodam vajadzētu izturēties.

ERC standarti, kas nosaka, kā darbojas Solidity, ietver:

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

Pastāv dažādi veidi, kā izturību var izmantot, lai viedie līgumi mijiedarbotos savā starpā. Stingrumu var izmantot arī, lai izveidotu īpašas instrukcijas par to, kā dati tiek glabāti viedajā līgumā. Viedo līgumu loģiku un datus var atdalīt, izmantojot Solidity. Izmantojot līgumu aizstājējus, līguma loģiku var mainīt, lai to atļautu.

Nemainīgums

Pēc tam, kad tas ir uzrakstīts un sastādīts, viedā līguma kodu mainīt nav iespējams. Tas nozīmē, ka katrai koda rindai ir jādarbojas, kā paredzēts, pretējā gadījumā var rasties nopietni koda izmantošanas riski.

Saistīts: Kā kļūt par Blockchain programmētāju un sākt pelnīt lielus dolārus

Tā kā Ethereum blokķēde ir nemainīga, nav iespējams mainīt tajā ierakstītos datus un loģiku. Veids, kā to apiet, ir izmantot starpniekserveri, lai norādītu uz citu līgumu, kas satur faktisko biznesa loģiku. Tas ļauj novērst kļūdas, kamēr tiek ieviesta jauna līguma versija.

Gāzes izmaksas

Par Solidity izmantošanu Ethereum mainnet ir jāmaksā papildu izmaksas. Dažas no papildu izmaksām ir balstītas uz Ethereum gāzes sistēmu, kas prasa samaksu kalnračiem par blokķēdes tīkla nodrošināšanu, lai kods varētu tajā droši darboties.

Rakstot viedos līgumus, ir svarīgi atcerēties, ka gāzes izmaksas var noteikt, cik veiksmīgs ir viedais līgums. Tā kā maksa par gāzi tiek maksāta par katru izmantoto krātuves slotu, darbības, kas veiktas, izmantojot kodu Solidity, maksā gāzi. Visticamāk, ka vieds līgums, kura izpilde ir dārga, ilgtermiņā netiks izmantots.

Gāzes optimizācija palīdz samazināt gāzes izmaksas, izpildot kodu Solidity. Dažas no populārākajām gāzes optimizācijas metodēm ietver bibliotēku izmantošanu un mazāk funkciju izmantošanu. Baitkoda saglabāšanai bieži tiek izmantotas bibliotēkas.

Tā vietā, lai viedajam līgumam pievienotu nevajadzīgu baitkodu, loģiku var ievietot bibliotēkās. Tas palīdz mazināt viedo līgumu apjomu. Izmantojot mazāk funkciju, ir nepieciešams mazāk baitkodu, kā arī tiek samazinātas koda auditēšanas grūtības.

Kā cietību var izmantot Ethereum?

Stingrība tiek izmantota, lai izveidotu viedus līgumus par aizstājamām žetonām un neatvietojamām žetonām. Ethereum ekosistēmā tiek izmantoti dažādi standarti, lai izveidotu neaizvietojamus žetonus un aizstājamos žetonus.

Tie ļauj izveidot dažāda veida lietošanas gadījumus cilvēkiem, kuri izmanto blokķēdi. Stingrība ļauj cilvēkiem izmantot žetonus un nepieņemami žetoni Ethereum. Sākot ar nepārvietojamu žetonu kalšanu un beidzot ar to pievienošanu, lai iegūtu lauksaimniecības baseinus par īpašu interesi, Ethereum ļauj izmantot dažādus žetonu veidus.

Decentralizētās autonomās organizācijas (DAO) arī nodrošina Solidity. DAO, kas ir jauna veida tiešsaistes organizatoriskā struktūra, galvenokārt ir rakstīts Solidity. DAO ļauj dažādiem cilvēkiem apvienoties kā dalībniekiem tiešsaistes platformā, kur viņi balso par DAO galvenajiem lēmumiem.

Stingrība ļauj automatizēt procesus DAO ietvaros. Procesu automatizācijas piemēri DAO ietver balsošanu par galvenajiem lēmumiem un reputācijas piešķiršanu DAO dalībniekiem par viņu ieguldījumu grupā.

Definējot standartus blokķēdēm

Cietība ir daudz vairāk nekā programmēšanas valoda. Tas nosaka standartus nākotnes blokķēdes tehnoloģijai.

Pateicoties atvērtā koda izstrādātāju skaitam, kas strādā, lai uzlabotu Solidity drošību un veiktspēju, tūkstošiem lietojumu Ethereum ekosistēmā joprojām ir atkarīgi no tā, kā to izmantot darboties. Tā kā viedajiem līgumiem Ethereum tiek izveidoti jauni standarti, valodas lietošana kļūs drošāka.

E-pasts
Vai ir iespējams patiesi decentralizēts internets? Kā tas varētu darboties ar Blockchain

Vai ir iespējams patiesi decentralizēts internets? Ko nozīmē decentralizācija un kā tā jūs aizsargātu?

Lasiet Tālāk

Saistītās tēmas
  • Tehnoloģija izskaidrota
  • Programmēšana
  • Ethereum
  • Blokķēde
Par autoru
Kalvins Ebuns-Amu (Publicēti 15 raksti)

Kalvins ir MakeUseOf rakstnieks. Kad viņš neskatās uz Riku un Mortiju vai viņa iecienītākajām sporta komandām, Kalvins raksta par jaunizveidotajiem uzņēmumiem, blokķēdi, kiberdrošību un citām tehnoloģiju jomām.

Vairāk no Calvin Ebun-Amu

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.