Solidumas nuėjo ilgą kelią, nes pirmą kartą jį pasiūlė 2014 m., O vėliau sukūrė „Ethereum“ „Solidity“ komanda. 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 norėtumėte sužinoti daugiau apie šios „blockchain“ pagrindu sukurtos programavimo kalbos vidinį veikimą.

Kas yra solidumas?

„Solidity“ yra į objektą orientuota, aukšto lygio programavimo kalba, naudojama kuriant išmaniąsias sutartis, kurios automatizuoja sandorius „blockchain“. Po pasiūlymo 2014 m. Kalbą sukūrė „Ethereum“ projekto dalyviai. Kalba pirmiausia naudojama kuriant išmaniąsias sutartis „Ethereum“ blokų grandinė ir sukurkite protingas sutartis su kitomis blokinėmis grandinėmis.

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

instagram viewer

Kaip aukšto lygio kalba, „Solidity“ panaikina poreikį įvesti kodą vienetais ir nuliais. Tai žymiai palengvina žmonėms rašyti programas lengviau suprantamais būdais, naudojant raidžių ir skaičių derinį.

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

Pagrindinį skirtumą tarp reikšmių tipų ir nuorodų tipų galima rasti, kaip jie priskiriami kintamajam ir saugomi EVM („Ethereum Virtual Machine“). Vieno vertės tipo kintamojo vertės keitimas neturi įtakos kito kintamojo vertei, tačiau kiekvienas, nurodantis pasikeitusias nuorodas į pamatinio tipo kintamuosius, gali gauti atnaujintas reikšmes.

Kaip veikia solidumas?

„Ethereum“ ekosistemos grožis yra tas, kad tiek daug skirtingų kriptovaliutų ir decentralizuotų programų gali ja naudotis. Pažangios sutartys leidžia „Ethereum“ sukurti unikalias technologijas visoms įmonėms ir organizacijoms.

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

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

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

EVM išmaniosios sutartys turi tam tikrų apribojimų, kuriuos reikia pašalinti. Vienas reikšmingiausių iš jų yra ribota prieiga prie naudingų bibliotekos funkcijų, skirtų analizuoti JSON struktūras ar slankiojo kablelio aritmetiką.

Viešosios ir privačios funkcijos

Viešosios funkcijos yra panašios į API, prie kurių gali prisijungti bet kas pasaulyje. Kiekvienas gali paskambinti jiems pagal savo kodą. Viešosios funkcijos daugeliu atvejų yra skirtos bendriems procesams platformoje, kurią naudoja visi vartotojai.

Pavyzdžiui, galima atlikti viešąją funkciją, leidžiančią visiems platformos vartotojams patikrinti savo sąskaitos balansą. Vienas iš labiausiai paplitusių išmaniųjų sutarčių 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 parašyti naudojant „Solidity“, dažnai jas parašyti yra labai sunku saugiai. Pvz., Jei išmaniosios sutarties atsiėmimo funkcija nėra saugi, užpuolikas gali manipuliuoti pažeidžiama funkcija, kad ištuštintų lėšų sąskaitą.

Užpuolikas galėjo pasinaudoti atsiėmimo funkcija, norėdamas išsiųsti pinigus į kitą sąskaitą, naudodamas kilpą, kuri pakartoja išėmimo funkciją.

Privačias funkcijas galima atlikti tik iš sutarčių. Jose yra instrukcijos, kurias galima vykdyti tik pakvietus kitoms funkcijoms grandinėje. Tai apsunkina kenkėjiškų veikėjų manipuliavimą kodu.

Standartai ir kodų 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 pateikiamos reikalingų funkcijų gairės ir apribojimai, kaip kodas turėtų elgtis.

EMTT standartai, nustatantys, kaip veikia „Solidity“, apima:

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

Yra keli būdai, kaip solidumą galima panaudoti norint, kad protingos sutartys sąveikautų tarpusavyje. Tvirtumas taip pat gali būti naudojamas kuriant specialias instrukcijas, kaip duomenys saugomi išmaniojoje sutartyje. Išmaniųjų sutarčių logiką ir duomenis galima atskirti naudojant „Solidity“. Naudojant pakaitines sutartis, sutarties logika gali būti pakeista, kad tai būtų įmanoma.

Nekintamumas

Neįmanoma pakeisti išmaniosios sutarties kodo, kai jis parašomas ir sudaromas. Tai reiškia, kad kiekviena kodo eilutė turi veikti pagal paskirtį, nes kitaip gali kilti rimta rizika, kad kodas bus išnaudotas.

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

Kadangi „Ethereum“ blokų grandinė yra nekintama, neįmanoma pakeisti jai užrašytų duomenų ir logikos. Būdas tai apeiti yra naudoti įgaliojimą nurodant kitą sutartį, kurioje yra tikroji verslo logika. Tai leidžia ištaisyti klaidas, kol įgyvendinama nauja sutarties versija.

Dujų sąnaudos

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

Rašant pažangias sutartis, svarbu atsiminti, kad dėl dujų sąnaudų galima nustatyti, kokia yra pažangi sutartis. Kadangi mokesčiai už dujas mokami už kiekvieną naudojamą laikymo angą, veiksmai, atlikti naudojant „Solidity“ kodą, kainuoja dujas. Vargu ar protinga sutartis, kurią vykdyti yra brangu, ilgainiui bus naudojama.

Dujų optimizavimas padeda sumažinti dujų kainą, kai vykdomas „Solidity“ kodas. Kai kurie iš populiariausių dujų optimizavimo būdų yra bibliotekų naudojimas ir mažiau funkcijų naudojimas. Bibliotekos dažnai naudojamos norint išsaugoti baitekodą.

Užuot pridėjus nereikalingą baitkodą prie išmaniosios sutarties, logiką galima įdėti į bibliotekas. Tai padeda išlaikyti mažą sumanaus kontrakto dydį. Naudojant mažiau funkcijų, reikia mažiau baitekodo, taip pat sumažėja kodo tikrinimo sunkumai.

Kaip solidumą galima naudoti Ethereum?

Tvirtumas naudojamas kuriant išmaniąsias sutartis dėl keičiamų žetonų ir nepakeičiamų žetonų. „Ethereum“ ekosistemoje nesuderinamiems žetonams ir žetonams kurti naudojami skirtingi standartai.

Tai leidžia sukurti skirtingų tipų naudojimo atvejus žmonėms, kurie naudojasi „blockchain“. Tvirtumas suteikia žmonėms galimybę naudoti žetonus ir nepakeičiami žetonai Ethereum. Nuo kalimo nepakeičiamuose žetonuose iki jų pridėjimo, norint gauti ūkininkavimo baseinų, norint gauti papildomą susidomėjimą, „Ethereum“ leidžia naudoti įvairius žetonus.

„Solidity“ taip pat leidžia decentralizuotas autonomines organizacijas (DAO). DAO, kuris yra naujo tipo internetinė organizacinė struktūra, pirmiausia rašoma „Solidity“. DAO leidžia įvairiems žmonėms susiburti kaip nariams į internetinę platformą, kurioje 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 paskirstymas DAO nariams už jų indėlį į grupę.

„Blockchain“ standartų apibrėžimas

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

Dėl atvirojo kodo kūrėjų, dirbančių gerinant „Solidity“ saugumą ir našumą, skaičiaus, tūkstančiai programų „Ethereum“ ekosistemoje ir toliau priklauso nuo jos veikti. Kai „Ethereum“ bus sukurti nauji išmaniųjų sutarčių standartai, kalbą naudoti bus saugiau.

El
Ar galimas tikrai decentralizuotas internetas? Kaip tai galėtų veikti su „Blockchain“

Ar įmanoma tikrai decentralizuotas internetas? Ką reiškia decentralizavimas ir kaip tai apsaugotų tave?

Skaitykite toliau

Susijusios temos
  • Paaiškinta technologija
  • Programavimas
  • Ethereum
  • „Blockchain“
Apie autorių
Calvinas Ebunas-Amu (Paskelbta 15 straipsnių)

Calvinas yra „MakeUseOf“ rašytojas. Kai jis nežiūri Ricko ir Morty ar jo mėgstamų sporto komandų, Calvinas rašo apie startuolius, „blockchain“, kibernetinį saugumą ir kitas technologijas.

Daugiau iš „Calvin Ebun-Amu“

Prenumeruokite mūsų naujienlaiškį

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

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.