Mis on kindlus ja kuidas seda nutikate lepingute väljatöötamiseks kasutatakse?

Mis on kindlus ja kuidas seda nutikate lepingute väljatöötamiseks kasutatakse?

Solidity on jõudnud kaugele pärast seda, kui see 2014. aastal esmakordselt välja pakuti ja hiljem Ethereumi Solidity meeskond välja töötas. Seal on sadu tuhandeid arendajaid, kes kasutavad programmeerimiskeelt plokiahelal põhinevate teenuste loomiseks üha enamate kasutusjuhtumite jaoks.





See artikkel selgitab, mis on Solidity ja kuidas seda Ethereumi ökosüsteemis kasutatakse. See artikkel on teile, kui soovite rohkem teada saada selle plokiahelal põhineva programmeerimiskeele sisemise toimimise kohta.





kuidas siseneda bios windows 10 käivitamisel

Mis on solidaarsus?

Solidity on objektorienteeritud kõrgetasemeline programmeerimiskeel, mida kasutatakse nutikate lepingute loomiseks, mis automatiseerivad plokiahelas tehinguid. Pärast 2014. aastal tehtud ettepanekut töötasid keele välja Ethereumi projekti toetajad. Keelt kasutatakse peamiselt nutikate lepingute loomiseks Ethereumi plokiahelas ja arukate lepingute loomiseks teistel plokiahelatel.





Solidity sarnaneb ühe levinuma programmeerimiskeelega JavaScript. Seda võib pidada JavaScripti murdeks. See tähendab, et kui mõistate JavaScripti, võib Soliidsuse leidmine olla lihtne. Solidity omab sarnaseid omadusi ka programmeerimiskeeltel C ++ ja Python.

Kõrgetasemelise keelena kaotab Solidity vajaduse sisestada kood ühed ja nullid. Inimestel on palju lihtsam programme kirjutada viisil, mis on neile arusaadavam, kasutades tähti ja numbreid.



Soliidsus on staatiliselt trükitud, toetades pärimist, teeke ja keerukaid kasutaja määratud tüüpe. Kuna Solidity on staatiliselt trükitud, määrab kasutaja palju iga muutujat. Andmetüübid võimaldavad kompilaatoril kontrollida muutujate õiget kasutamist. Tugevuse andmetüübid liigitatakse tavaliselt väärtustüüpideks või viitetüüpideks.

Peamine erinevus väärtustüüpide ja viitetüüpide vahel on selles, kuidas need muutujale määratakse ja EVM -is (Ethereum Virtual Machine) salvestatakse. Kuigi väärtustüübi ühe muutuja väärtuse muutmine ei mõjuta teise muutuja väärtust, võib igaüks, kes viitab viitetüüpi muutujate muudetud väärtustele, saada värskendatud väärtusi.





Kuidas Solidity toimib?

Ethereumi ökosüsteemi ilu seisneb selles, et seda saavad kasutada nii paljud erinevad krüptovaluutad ja detsentraliseeritud rakendused. Nutikad lepingud võimaldavad Ethereumil luua unikaalseid tehnoloogiaid igasuguste ettevõtete ja organisatsioonide jaoks.

Igal aastal kulutab maailm plokiahela lahendustele miljardeid dollareid. Paljud neist lahendustest on loodud Solidity abil. Solidity abil koostatud nutikaid lepinguid võib pidada viisiks, kuidas automatiseerida äri- ja äriväliseid protsesse erinevate inimeste vahel. See tagab, et plokiahelas tehinguid tegevad inimesed ei pea muretsema selliste riskide pärast nagu pettus või sama valuuta kasutamine.





Üks peamisi komponente, mis võimaldab Solidity koodi täitmist, on EVM. EVM -i kirjeldatakse kui plokk -ahela virtuaalset arvutit, mis muudab inimeste ideed koodiks, mis käivitab plokiahelas rakendusi.

Kapoti all loob Solidity masinataseme koodi, mis käivitatakse EVM-is. Kompilaatorit kasutatakse kõrgetasemelise inimloetava koodi lõhkumiseks, millest saab protsessori poolt loetud juhised. Erinevad platvormid pakuvad tasuta Solidity kompileerimist, sealhulgas Remixi veebikompilaator ja arvutis allalaaditud käsulaadne kompilaator.

EVMi arukatel lepingutel on mõned piirangud, millega tuleb tegeleda. Üks olulisemaid neist on piiratud juurdepääs kasulikele raamatukogu funktsioonidele JSON-struktuuride või ujukomaaritmeetika analüüsimiseks.

Avalikud ja privaatsed funktsioonid

Avalikud funktsioonid on sarnased API -dega, millele võivad ligi pääseda kõikjal maailmas. Igaüks saab neile oma koodi järgi helistada. Avalikud funktsioonid on paljudel juhtudel mõeldud jagatud protsesside jaoks platvormil, mida kõik kasutajad kasutavad.

Näiteks võiks teha avaliku funktsiooni, mis võimaldab kõigil platvormi kasutajatel oma kontojääki kontrollida. Üks levinumaid viise nutikate lepingute kasutamiseks on avalikud funktsioonid.

Seotud: Mis on plokiahel ja kuidas see toimib?

Kuigi arukaid lepinguid saab Solidityga hõlpsasti kirjutada, on nende turvaline kirjutamine sageli väga keeruline. Näiteks kui nutika lepingu väljavõtmisfunktsioon ei ole turvaline, saab ründaja haavatava funktsiooniga raha arveldamiseks manipuleerida.

Ründaja võib raha väljavõtmiseks teisele kontole helistada, kasutades tsüklit, mis kordab väljavõtmisfunktsiooni.

Erafunktsioone saab helistada ainult lepingute seestpoolt. Need sisaldavad juhiseid, mida saab täita ainult pärast seda, kui teised funktsioonid on neid ahelas kutsunud. See raskendab pahatahtlike tegijate poolt koodiga manipuleerimist.

Standardid ja koodiloogika

Tekivad erinevad standardid, mis määravad kindlaks, kuidas Solidity nutikaid lepinguid Ethereumi rakenduste loomiseks kasutatakse. Neid standardeid tuntakse kui ERC (Ethereum Request for Comments) standardeid. Standardid põhinevad dokumendil, mis sisaldab juhiseid nõutavate funktsioonide kohta ja piiranguid selle kohta, kuidas kood peaks käituma.

ERC standardid, mis määravad kindlaks, kuidas Solidity töötab, on järgmised:

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

Solidity saab kasutada nutikate lepingute omavaheliseks suhtlemiseks. Kindlust saab kasutada ka spetsiaalsete juhiste koostamiseks selle kohta, kuidas andmeid nutilepingusse salvestatakse. Nutikate lepingute loogikat ja andmeid saab eraldada Solidity abil. Asenduslepinguid kasutades saab lepingu loogikat selle võimaldamiseks muuta.

Muutumatus

Nutika lepingu koodi on pärast selle kirjutamist ja koostamist võimatu muuta. See tähendab, et iga koodirida peab töötama ettenähtud viisil, vastasel juhul võib koodi kasutamisega kaasneda tõsine oht.

Seotud: Kuidas saada plokiahela programmeerijaks ja alustada suurte ostude tegemist

Et Ethereumi plokiahel on muutumatu, ei ole võimalik sinna kirjutatud andmeid ja loogikat muuta. Üks võimalus sellest mööda pääseda on kasutada puhverserverit, et osutada teisele lepingule, mis sisaldab tegelikku äriloogikat. See võimaldab parandada vead lepingu uue versiooni rakendamise ajal.

kuidas teada saada, kas ebay müüja on legitiimne

Gaasikulud

Solidity kasutamise eest Ethereumi võrgus tuleb maksta lisakulusid. Mõned lisakulud põhinevad Ethereumi gaasisüsteemil, mis nõuab kaevuritele plokiahela võrgu turvamise eest tasu, et kood saaks sellel turvaliselt töötada.

Nutikate lepingute kirjutamisel on oluline meeles pidada, et gaasikulud võivad määrata nutika lepingu täitmise. Kuna gaasitasusid makstakse iga kasutatud mälupesa eest, maksavad Solidity koodiga sooritatud toimingud gaasi. Arukat lepingut, mille täitmine on kallis, ei kasutata tõenäoliselt pikas perspektiivis.

Gaasi optimeerimine aitab vähendada gaasi hinda solidaarsuskoodi täitmisel. Mõned kõige populaarsemad gaasi optimeerimise meetodid hõlmavad raamatukogude kasutamist ja vähemate funktsioonide kasutamist. Baitkoodi salvestamiseks kasutatakse sageli raamatukogusid.

Targa lepingule mittevajaliku baitkoodi lisamise asemel saab loogika panna raamatukogudesse. See aitab nutika lepingu suurust väiksena hoida. Kasutades vähem funktsioone, on vaja vähem baitkoode ja ka koodi auditeerimise raskused vähenevad.

Kuidas saab soliidsust Ethereumis kasutada?

Kindlust kasutatakse arukate lepingute loomiseks vahetatavate märkide ja asendamatute märkide jaoks. Ethereumi ökosüsteemis ei ole vahetatavate ja vahetatavate märkide ehitamiseks kasutatud erinevaid standardeid.

Need võimaldavad luua plokiahelat kasutavatele inimestele erinevat tüüpi kasutusjuhtumeid. Solidity võimaldab inimestel Ethereumis kasutada žetoone ja mittevahetatavaid märke. Ethereum võimaldab erinevat tüüpi sümboolikaid kasutada alates mittesiduvate märkide vermimisest kuni nende lisamiseni, et saada täiendavat huvi põllumajandusbasseinide jaoks.

Solidity teeb võimalikuks ka detsentraliseeritud autonoomsed organisatsioonid (DAO). DAO, mis on uut tüüpi veebipõhine organisatsioonistruktuur, on kirjutatud peamiselt Solidity. DAO -d võimaldavad erinevatel inimestel liikmeks koguneda veebiplatvormil, kus nad hääletavad DAO peamiste otsuste üle.

Tugevus võimaldab DAO -s protsesse automatiseerida. DAO -de protsesside automatiseerimise näited hõlmavad peamiste otsuste hääletamist ja DAO liikmetele maine jagamist nende panuse eest gruppi.

Plokiahelate standardite määratlemine

Kindlus on palju enamat kui programmeerimiskeel. See määratleb plokiahela tehnoloogia tuleviku standardid.

Tänu paljudele avatud lähtekoodiga arendajatele, kes töötavad Solidity turvalisuse ja jõudluse parandamise nimel, sõltuvad tuhanded Ethereumi ökosüsteemi rakendused nende rakenduste toimimisest. Kuna Ethereumis luuakse nutikate lepingute jaoks uued standardid, muutub keel turvalisemaks.

Jaga Jaga Piiksuma E -post Kas tõesti detsentraliseeritud Internet on võimalik? Kuidas see plokiahelaga töötada võiks

Kas tõeliselt detsentraliseeritud internet on võimalik? Mida tähendab detsentraliseerimine ja kuidas see teid turvaliselt hoiaks?

Loe edasi
Seotud teemad
  • Tehnoloogia selgitatud
  • Programmeerimine
  • Ethereum
  • Plokiahel
Autori kohta Calvin Ebun-Amu(48 artiklit avaldatud)

Calvin on MakeUseOfi kirjanik. Kui ta ei vaata Ricki ja Mortyt ega tema lemmik spordimeeskondi, kirjutab Calvin idufirmadest, plokiahelast, küberturvalisusest ja muudest tehnoloogiavaldkondadest.

Veel Calvin Ebun-Amu

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin