Kas yra solidumas ir kaip jis naudojamas kuriant pažangias sutartis?

Kas yra solidumas ir kaip jis naudojamas kuriant pažangias sutartis?

„Solidity“ nuėjo ilgą kelią nuo tada, kai jis pirmą kartą buvo pasiūlytas 2014 m., O vėliau sukurtas „Ethereum“ solidumo komandos. Yra šimtai tūkstančių kūrėjų, kurie naudoja programavimo kalbą kurdami „blockchain“ pagrįstas paslaugas vis daugiau naudojimo atvejų.





Šiame straipsnyje paaiškinama, kas yra „Solidity“ ir kaip jis naudojamas „Ethereum“ ekosistemoje. Šis straipsnis skirtas jums, jei jus domina daugiau sužinoti apie šios „blockchain“ programavimo kalbos veikimą.





windows 10 system_service_exception

Kas yra Solidumas?

Solidumas yra į objektą orientuota aukšto lygio programavimo kalba, naudojama kuriant išmaniąsias sutartis, kurios automatizuoja sandorius blokinėje grandinėje. Po to, kai buvo pasiūlyta 2014 m., Kalbą sukūrė „Ethereum“ projekto dalyvės. Kalba pirmiausia naudojama kuriant pažangias sutartis „Ethereum“ blokų grandinėje ir kuriant išmanias sutartis kitose blokų grandinėse.





Solidumas yra panašus į vieną iš labiausiai paplitusių programavimo kalbų - „JavaScript“. Tai galima laikyti „JavaScript“ tarme. Tai reiškia, kad jei suprantate „JavaScript“, gali būti lengva pasiimti „Solidity“. „Solidity“ taip pat turi panašias savybes kaip programavimo kalbos C ++ ir „Python“.

Kaip aukšto lygio kalba, „Solidity“ panaikina poreikį įvesti kodą vienetais ir nuliais. Žmonėms daug lengviau rašyti programas taip, kaip jiems lengviau suprasti, naudojant raidžių ir skaičių derinį.



Tvirtumas įvedamas statiškai, palaikant paveldėjimą, bibliotekas ir sudėtingus vartotojo apibrėžtus tipus. Kadangi „Solidity“ įvedamas statiškai, vartotojas daug nurodo kiekvieną kintamąjį. Duomenų tipai leidžia kompiliatoriui patikrinti, ar teisingai naudojami kintamieji. Kietumo duomenų tipai paprastai skirstomi į vertės tipus arba nuorodų tipus.

Pagrindinis skirtumas tarp reikšmių tipų ir atskaitos tipų yra tas, kaip jie priskiriami kintamajam ir saugomi EVM („Ethereum Virtual Machine“). Nors vertės keitimas viename vertės tipo kintamajame neturi įtakos kito kintamojo vertei, bet kas, nurodęs pasikeitusias etaloninio tipo kintamųjų reikšmes, gali gauti atnaujintas vertes.





Kaip veikia solidumas?

„Ethereum“ ekosistemos grožis yra tas, kad ją gali naudoti tiek daug skirtingų kriptovaliutų ir decentralizuotų programų. Išmaniosios sutartys suteikia galimybę „Ethereum“ sukurti unikalias technologijas visoms įmonėms ir organizacijoms.

Kasmet pasaulis išleidžia milijardus dolerių „blockchain“ sprendimams. Daugelis šių sprendimų yra sukurti naudojant „Solidity“. Išmaniosios sutartys, sudarytos naudojant „Solidity“, gali būti suvokiamos kaip būdas automatizuoti verslo ir ne verslo procesus tarp skirtingų žmonių. Tai užtikrina, kad žmonėms, atliekantiems sandorius „blockchain“, nereikėtų nerimauti dėl tokios rizikos kaip sukčiavimas ar negalėjimas naudoti tos pačios valiutos.





Vienas iš pagrindinių komponentų, leidžiantis vykdyti solidumo kodą, yra EVM. EVM apibūdinamas kaip virtualus kompiuteris „blockchain“, kuris žmonių idėjas paverčia kodu, kuris paleidžia programas „blockchain“.

Po gaubtu „Solidity“ sukuria mašinos lygio kodą, kuris vykdomas EVM. Kompiliatorius naudojamas suskaidyti aukšto lygio žmogaus skaitomą kodą, kurį jis paverčia instrukcijomis, kurias perskaito procesorius. Įvairios platformos teikia nemokamą „Solidity“ kompiliaciją, įskaitant internetinį „Remix“ kompiliatorių ir kompiuteryje atsisiųstą komandų kompiliatorių.

EVM išmaniosios sutartys turi tam tikrų apribojimų, kuriuos reikia išspręsti. Vienas iš reikšmingiausių iš jų yra ribota prieiga prie naudingų bibliotekos funkcijų JSON struktūroms analizuoti arba slankiojo kablelio aritmetikai.

Viešosios ir privačios funkcijos

Viešosios funkcijos yra panašios į API, kurias gali pasiekti visi pasaulio žmonės. Kiekvienas gali jiems paskambinti savo kodu. Viešosios funkcijos daugeliu atvejų yra skirtos bendriems procesams platformoje, kuria naudojasi visi vartotojai.

Pavyzdžiui, būtų galima atlikti viešą funkciją, leidžiančią visiems platformos naudotojams patikrinti savo sąskaitos likutį. Vienas iš labiausiai paplitusių išmaniųjų sutarčių naudojimo būdų yra viešosios funkcijos.

Susijęs: Kas yra „Blockchain“ ir kaip jis veikia?

Nors išmaniąsias sutartis gali būti lengva sudaryti naudojant „Solidity“, dažnai labai sunku jas saugiai sudaryti. Pavyzdžiui, jei išmaniosios sutarties nutraukimo funkcija nėra saugi, užpuolikas gali manipuliuoti pažeidžiama funkcija, kad išleistų lėšų sąskaitą.

Užpuolikas gali pasinaudoti atsiėmimo funkcija, kad išsiųstų pinigus į kitą sąskaitą, naudodamas ciklą, kuris pakartotinai atsiima išėmimo funkciją.

Privačios funkcijos gali būti iškviečiamos tik iš sutarčių. Juose yra nurodymų, kuriuos galima vykdyti tik paraginus kitoms grandinės funkcijoms. Tai apsunkina kenkėjiškų veikėjų manipuliavimą kodu.

Standartai ir kodo logika

Atsiranda skirtingi standartai, kurie nustato, kaip „Solidity“ išmaniosios sutartys naudojamos kuriant programas „Ethereum“. Šie standartai yra žinomi kaip ERC (Ethereum Request for Comments) standartai. Standartai yra pagrįsti dokumentu, kuriame yra gairės apie būtinas funkcijas ir apribojimai, kaip turėtų veikti kodas.

ERC standartai, nustatantys, kaip veikia „Solidity“, yra šie:

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

Yra įvairių būdų, kaip „Solidity“ galima panaudoti, kad išmaniosios sutartys sąveikautų tarpusavyje. Solidumas taip pat gali būti naudojamas norint pateikti specialias instrukcijas, kaip duomenys saugomi išmaniojoje sutartyje. Išmaniųjų sutarčių logiką ir duomenis galima atskirti naudojant „Solidity“. Naudojant pakaitines sutartis, galima pakeisti sutarties logiką.

Nekintamumas

Neįmanoma pakeisti išmaniosios sutarties kodo, kai ji bus parašyta ir sudaryta. Tai reiškia, kad kiekviena kodo eilutė turi veikti taip, kaip numatyta, antraip gali kilti rimta kodo panaudojimo rizika.

Susijęs: Kaip tapti „Blockchain“ programuotoju ir pradėti uždirbti didelius pinigus

Kadangi „Ethereum“ blokų grandinė yra nekintama, neįmanoma pakeisti jai parašytų duomenų ir logikos. Būdas, kaip tai išspręsti, yra naudoti įgaliotąjį, nurodant kitą sutartį, kurioje yra faktinė verslo logika. Tai leidžia ištaisyti klaidas, kol įgyvendinama nauja sutarties versija.

kiek kainuoja vikipedijos paleidimas

Dujų sąnaudos

Už „Solidity“ naudojimą „Ethereum“ tinkle mokamos papildomos išlaidos. Kai kurios papildomos išlaidos yra pagrįstos „Ethereum“ dujų sistema, už kurią reikia mokėti kalnakasiams už „blockchain“ tinklo apsaugą, kad kodas galėtų saugiai veikti.

Rašant išmaniąsias sutartis, svarbu atsiminti, kad dujų sąnaudos gali nulemti, kaip efektyviai vykdoma išmanioji sutartis. Kadangi mokesčiai už dujas mokami už kiekvieną naudojamą saugojimo lizdą, veiksmai, atlikti naudojant „Solidity“ kodą, kainuoja dujas. Išmanioji sutartis, kurios vykdymas yra brangus, vargu ar bus naudojama ilgą laiką.

Dujų optimizavimas padeda sumažinti dujų kainą, kai vykdomas solidumo kodas. Kai kurie iš populiariausių dujų optimizavimo metodų yra bibliotekų naudojimas ir mažiau funkcijų. Bibliotekos dažnai naudojamos baitų kodams išsaugoti.

Užuot pridėję nereikalingą baitinį kodą prie išmaniosios sutarties, logiką galima įdėti į bibliotekas. Tai padeda išlaikyti protingą sutarties dydį mažą. Naudojant mažiau funkcijų, reikia mažiau baitų kodų, taip pat sumažėja kodo tikrinimo sunkumai.

Kaip „Ethereum“ galima panaudoti tvirtumą?

Tvirtumas naudojamas kuriant išmanias sutartis dėl keičiamų ir nekeičiamų žetonų. „Ethereum“ ekosistemoje nekeičiamiems ir keičiamiems žetonams kurti naudojami skirtingi standartai.

Tai leidžia sukurti įvairių tipų naudojimo atvejus žmonėms, kurie naudojasi „blockchain“. „Solidity“ suteikia galimybę „Ethereum“ naudoti žetonus ir nekeičiamus žetonus. „Ethereum“ leidžia įvairius žetonų naudojimo būdus-nuo nekeičiamų žetonų kaldinimo iki jų pridėjimo prie ūkininkavimo baseinų už papildomą susidomėjimą.

Decentralizuotas autonomines organizacijas (DAO) taip pat įgalina Solidity. DAO, kuris yra naujo tipo internetinė organizacinė struktūra, pirmiausia parašytas „Solidity“. DAO leidžia skirtingiems žmonėms prisijungti prie narių internetinėje platformoje, kur jie balsuoja dėl pagrindinių DAO sprendimų.

Tvirtumas leidžia automatizuoti procesus DAO. Procesų automatizavimo DAO pavyzdžiai yra balsavimas už pagrindinius sprendimus ir reputacijos suteikimas DAO nariams už jų indėlį į grupę.

„Blockchains“ standartų apibrėžimas

Solidumas yra daug daugiau nei programavimo kalba. Tai apibrėžia „blockchain“ technologijos ateities standartus.

Dėl daugybės atvirojo kodo kūrėjų, siekiančių pagerinti „Solidity“ saugumą ir našumą, tūkstančiai „Ethereum“ ekosistemos programų ir toliau priklauso nuo to, kad jų programos veiktų. Kai „Ethereum“ kuriami nauji išmaniųjų sutarčių standartai, kalba tampa saugesnė.

Dalintis Dalintis „Tweet“ Paštu Ar įmanoma tikrai decentralizuotas internetas? Kaip tai galėtų veikti naudojant „Blockchain“

Ar įmanoma tikrai decentralizuotas internetas? Ką reiškia decentralizacija ir kaip ji jus saugotų?

Skaityti toliau
Susijusios temos
  • Technologija paaiškinta
  • Programavimas
  • Ethereum
  • Blockchain
Apie autorių Calvin Ebun-Amu(Paskelbti 48 straipsniai)

Kalvinas yra „MakeUseOf“ rašytojas. Kai jis nežiūri Riko ir Morty ar jo mėgstamų sporto komandų, Kalvinas rašo apie pradedančiuosius, blokų grandinę, kibernetinį saugumą ir kitas technologijų sritis.

Daugiau iš Calvin Ebun-Amu

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia