Čo je to solídnosť a ako sa používa na vývoj inteligentných zmlúv?

Čo je to solídnosť a ako sa používa na vývoj inteligentných zmlúv?

Solidnosť prešla dlhou cestou, pretože bola prvýkrát navrhnutá v roku 2014 a neskôr vyvinutá tímom Ethereum Solidity. Existujú stovky tisíc vývojárov, ktorí používajú programovací jazyk na vytváranie služieb založených na blockchaine pre rastúci počet prípadov použitia.





Tento článok vysvetľuje, čo je to Solidity a ako sa používa v ekosystéme Ethereum. Tento článok je pre vás, ak máte záujem dozvedieť sa viac o vnútornom fungovaní tohto programovacieho jazyka založeného na blockchaine.





excel skombinujte dva stĺpce do jedného

Čo je to pevnosť?

Solidity je objektovo orientovaný programovací jazyk na vysokej úrovni, ktorý sa používa na vytváranie inteligentných zmlúv, ktoré automatizujú transakcie na blockchaine. Po návrhu v roku 2014 bol jazyk vyvinutý prispievateľmi do projektu Ethereum. Tento jazyk sa používa predovšetkým na vytváranie inteligentných zmlúv na blockchaine Ethereum a na vytváranie inteligentných zmlúv na iných blockchainoch.





Solidnosť je podobná jednému z najbežnejších programovacích jazykov, JavaScriptu. Možno to považovať za dialekt jazyka JavaScript. To znamená, že ak rozumiete JavaScriptu, môže byť ľahké získať pevnosť. Solidnosť má tiež podobné vlastnosti ako programovacie jazyky C ++ a Python.

Ako jazyk na vysokej úrovni Solidity odstraňuje potrebu písať kód do jednotiek a núl. Ľuďom je oveľa jednoduchšie písať programy tak, aby im bolo jednoduchšie porozumieť, a to pomocou kombinácie písmen a číslic.



Solidita je staticky napísaná s podporou dedičnosti, knižníc a komplexných typov definovaných používateľom. Keďže je Solidnosť staticky napísaná, používateľ veľa určuje každú premennú. Dátové typy umožňujú kompilátoru kontrolovať správne používanie premenných. Dátové typy integrity sú zvyčajne kategorizované buď ako typy hodnôt, alebo ako referenčné typy.

Hlavný rozdiel medzi typmi hodnôt a referenčnými typmi možno nájsť v tom, ako sú priradené k premennej a ako sú uložené v EVM (Ethereum Virtual Machine). Aj keď zmena hodnoty v jednej premennej hodnotového typu neovplyvní hodnotu v inej premennej, aktualizované hodnoty môže získať ktokoľvek, kto odkazuje na zmenené hodnoty v premenných referenčného typu.





Ako funguje solídnosť?

Krása ekosystému Ethereum spočíva v tom, že ho môže používať toľko rôznych kryptomien a decentralizovaných aplikácií. Inteligentné zmluvy umožňujú vyrábať jedinečné technológie na ethereum pre všetky druhy firiem a organizácií.

Svet každoročne vynakladá miliardy dolárov na blockchainové riešenia. Mnoho z týchto riešení je vytvorených pomocou Solidity. Inteligentné zmluvy postavené pomocou Solidity je možné považovať za spôsob automatizácie obchodných a nepodnikateľských procesov medzi rôznymi ľuďmi. To zaisťuje, že ľudia vykonávajúci transakcie na blockchaine sa nemusia obávať rizika, ako je podvod alebo nemožnosť používať rovnakú menu.





Jednou z kľúčových komponentov, ktoré umožňujú spustenie kódu Solidity, je EVM. EVM je opísaný ako virtuálny počítač na blockchaine, ktorý premieňa nápady ľudí na kód, ktorý spúšťa aplikácie na blockchaine.

Pod kapotou Solidity vytvára kód na úrovni stroja, ktorý sa vykonáva na EVM. Kompilátor sa používa na rozkladanie kódu čitateľného na vysokej úrovni pre človeka, ktorý z neho robí pokyny, ktoré procesor číta. Rôzne platformy poskytujú bezplatnú kompiláciu Solidity, vrátane online kompilátora Remix a stiahnutého kompilátora podobného príkazu do počítača.

Inteligentné zmluvy EVM majú určité obmedzenia, ktoré je potrebné riešiť. Jednou z najdôležitejších z nich je obmedzený prístup k užitočným funkciám knižnice na analýzu štruktúr JSON alebo aritmetiky s pohyblivou rádovou čiarkou.

Verejné a súkromné ​​funkcie

Verejné funkcie sú podobné rozhraniam API, ku ktorým má prístup každý na svete. Každý im môže zavolať do svojho kódu. Verejné funkcie sú v mnohých prípadoch navrhnuté pre zdieľané procesy na platforme, ktorú používajú všetci používatelia.

Mohla by byť napríklad vytvorená verejná funkcia, ktorá umožní všetkým používateľom platformy kontrolovať zostatok na ich účte. Jeden z najbežnejších spôsobov využívania inteligentných zmlúv je prostredníctvom verejných funkcií.

Súvisiace články: Čo je to blockchain a ako funguje?

Aj keď je možné pomocou Solidity písať inteligentné zmluvy jednoducho, je často veľmi ťažké ich bezpečne napísať. Ak napríklad funkcia výberu v inteligentnej zmluve nie je zabezpečená, útočník môže zraniteľnú funkciu zmanipulovať a zbaviť tak účtu finančných prostriedkov.

Útočník by mohol použiť funkciu výberu na odoslanie peňazí na iný účet pomocou slučky, ktorá funkciu výberu opakovane opakuje.

Súkromné ​​funkcie je možné vyzvať iba zvnútra zmlúv. Obsahujú pokyny, ktoré je možné vykonať iba po vyvolaní inými funkciami v reťazci. To sťažuje manipuláciu s kódom zlomyseľnými hercami.

Štandardy a logika kódu

Vznikajú rôzne štandardy, ktoré určujú, ako sa inteligentné zmluvy Solidity používajú na vytváranie aplikácií na ethereum. Tieto štandardy sú známe ako štandardy ERC (Ethereum Request for Comments). Štandardy sú založené na dokumente, ktorý obsahuje usmernenia k požadovaným funkciám a obmedzeniam, ako by sa mal kód správať.

Medzi štandardy ERC, ktoré určujú, ako Solidity funguje, patria:

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

Existujú rôzne spôsoby, ktorými je možné použiť Solidnosť na vzájomnú interakciu inteligentných zmlúv. Solidnosť je možné použiť aj na vytvorenie špeciálnych pokynov o tom, ako sa údaje ukladajú do inteligentnej zmluvy. Logiku a údaje v inteligentných zmluvách je možné oddeliť pomocou Solidity. Pomocou náhradných zmlúv je možné logiku zmluvy zmeniť, aby to umožnila.

Nemennosť

Po napísaní a zostavení inteligentnej zmluvy nie je možné zmeniť kód. To znamená, že každý riadok kódu musí fungovať podľa plánu, inak by mohlo dôjsť k vážnemu riziku zneužitia kódu.

Súvisiace články: Ako sa stať programátorom blockchainu a začať zarábať peniaze

Pretože je blockchain Ethereum nemenný, nie je možné zmeniť údaje a logiku, ktorá je do nich zapísaná. Spôsob, ako to obísť, je použiť proxy na poukázanie na inú zmluvu, ktorá obsahuje skutočnú obchodnú logiku. To umožňuje opravy chýb počas implementácie novej verzie zmluvy.

ako rozbaliť súbor tar.gz

Náklady na plyn

Za používanie Solidity na hlavnej sieti Ethereum sa platia dodatočné náklady. Niektoré z dodatočných nákladov vychádzajú z plynárenského systému Ethereum, ktorý vyžaduje platbu baníkom za zabezpečenie siete blockchain, aby na nej kód mohol bezpečne bežať.

Pri písaní inteligentných zmlúv je dôležité mať na pamäti, že náklady na plyn môžu určovať výkonnosť inteligentnej zmluvy. Keďže poplatky za plyn sa platia za každý použitý úložný priestor, akcie vykonávané s plynom podľa kódu Solidity. Inteligentná zmluva, ktorej prevádzka je drahá, sa pravdepodobne nebude používať z dlhodobého hľadiska.

Optimalizácia plynu pomáha znižovať náklady na plyn pri vykonávaní kódu Solidity. Medzi najobľúbenejšie metódy optimalizácie plynu patrí používanie knižníc a používanie menšieho počtu funkcií. Na uloženie bajtkódu sa často používajú knižnice.

Namiesto pridávania nepotrebného bajtkódu do inteligentnej zmluvy je možné logiku vložiť do knižníc. To pomáha udržať malú veľkosť inteligentnej zmluvy. Použitím menšieho počtu funkcií je potrebných menej bajtkódu a taktiež je znížená náročnosť auditu kódu.

Ako je možné využiť pevnosť v ethereu?

Solidnosť sa používa na vytváranie inteligentných zmlúv pre zameniteľné tokeny a nefunkčné tokeny. Na zostrojenie nepadnuteľných tokenov a zameniteľných tokenov v ekosystéme Ethereum sa používajú rôzne štandardy.

Tieto umožňujú vytvárať rôzne typy prípadov použitia pre ľudí, ktorí používajú blockchain. Solidnosť umožňuje ľuďom používať na Ethereu tokeny a nezameniteľné tokeny. Ethereum umožňuje rôzne druhy použitia tokenov, od razenia nefunkčných tokenov až po ich pridanie do výnosových farmárskych fondov, aby bol zvýšený záujem.

Solidity umožňuje aj decentralizované autonómne organizácie (DAO). DAO, čo je nový typ online organizačnej štruktúry, je primárne napísaný v Solidity. DAO umožňujú rôznym ľuďom stretnúť sa ako členovia na online platforme, kde hlasujú o kľúčových rozhodnutiach DAO.

Solidnosť umožňuje automatizovať procesy v rámci DAO. Medzi príklady automatizácie procesov v DAO patrí hlasovanie za kľúčové rozhodnutia a udelenie reputácie členom DAO za ich prínos pre skupinu.

Definovanie štandardov pre blockchainy

Solidnosť je oveľa viac ako programovací jazyk. Definuje štandardy pre budúcnosť technológie blockchain.

Vďaka množstvu vývojárov s otvoreným zdrojovým kódom, ktorí pracujú na zlepšení zabezpečenia a výkonnosti Solidity, sú tisíce aplikácií v ekosystéme Ethereum od ich prevádzky závislé. Keď budú v Ethereu vytvárané nové štandardy pre inteligentné zmluvy, používanie jazyka bude bezpečnejšie.

zdieľam zdieľam Tweet E -mail Je možné skutočne decentralizovaný internet? Ako by to mohlo fungovať s blockchainom

Je možné skutočne decentralizovaný internet? Čo znamená decentralizácia a ako by vás udržala v bezpečí?

Čítajte ďalej
Súvisiace témy
  • Technológia vysvetlená
  • Programovanie
  • Ethereum
  • Blockchain
O autorovi Calvin Ebun-Amu(48 publikovaných článkov)

Calvin je spisovateľ v MakeUseOf. Keď nesleduje Ricka a Mortyho alebo jeho obľúbené športové tímy, Calvin píše o startupoch, blockchainu, kybernetickej bezpečnosti a ďalších sférach technológie.

Viac od Calvina Ebun-Ammu

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber