Какво е солидност и как се използва за разработване на интелигентни договори?

Какво е солидност и как се използва за разработване на интелигентни договори?

Солидността измина дълъг път, откакто беше предложена за първи път през 2014 г. и по -късно разработена от екипа на Ethereum Solidity. Има стотици хиляди разработчици, които използват езика за програмиране, за да създават базирани на блокчейн услуги за нарастващ брой случаи на използване.





Тази статия обяснява какво е Solidity и как се използва в екосистемата Ethereum. Тази статия е за вас, ако искате да научите повече за вътрешната работа на този език за програмиране, базиран на блокчейн.





c ++ все още се използва

Какво е солидност?

Solidity е обектно-ориентиран език за програмиране на високо ниво, използван за създаване на интелигентни договори, които автоматизират транзакциите в блокчейна. След като беше предложен през 2014 г., езикът беше разработен от сътрудници на проекта Ethereum. Езикът се използва предимно за създаване на интелигентни договори за блокчейн на Ethereum и създаване на интелигентни договори за други блокчейн.





Солидността е подобна на един от най -разпространените езици за програмиране, JavaScript. Може да се разглежда като диалект на JavaScript. Това означава, че ако разбирате JavaScript, може да бъде лесно да вземете Solidity. Solidity също споделя подобни характеристики с езиците за програмиране C ++ и Python.

Като език на високо ниво, Solidity премахва необходимостта от въвеждане на код в единици и нули. Това прави много по -лесно хората да пишат програми по начин, който им е по -лесен за разбиране, като използва комбинация от букви и цифри.



Солидността е статично въведена, с поддръжка за наследяване, библиотеки и сложни дефинирани от потребителя типове. Тъй като Solidity е статично въведен, потребителят много посочва всяка променлива. Типовете данни позволяват на компилатора да провери за правилното използване на променливите. Типовете данни за солидност обикновено се категоризират като типове стойност или референтни типове.

Основната разлика между типовете стойности и референтните типове може да се намери в начина, по който те се присвояват на променлива и се съхраняват в EVM (Ethereum Virtual Machine). Докато промяната на стойността в една променлива от тип стойност не засяга стойността в друга променлива, всеки, който се позовава на променени стойности в променливите на референтния тип, може да получи актуализирани стойности.





Как работи солидността?

Красотата на екосистемата Ethereum е, че толкова много различни криптовалути и децентрализирани приложения могат да я използват. Интелигентните договори дават възможност за създаване на уникални технологии в Ethereum за всички видове предприятия и организации.

Всяка година светът харчи милиарди долари за блокчейн решения. Много от тези решения са създадени с помощта на Solidity. Интелигентните договори, изградени с помощта на Solidity, могат да се разглеждат като начин за автоматизиране на бизнес и небизнес процеси между различни хора. Това гарантира, че хората, извършващи транзакции на блокчейн, не трябва да се притесняват за рискове като измама или неспособност да използват същата валута.





Един от ключовите компоненти, който прави възможно изпълнението на кода на Solidity, е EVM. EVM е описан като виртуален компютър на блокчейн, който превръща идеите на хората в код, който изпълнява приложения на блокчейн.

Под капака Solidity създава код на ниво машина, който се изпълнява на EVM. Компилатор се използва за разбиване на четим от човека код на високо ниво, който той превръща в инструкции, които процесорът чете. Различните платформи осигуряват безплатно компилиране на Solidity, включително онлайн компилатора Remix и изтегления команден компилатор на компютър.

Интелигентните договори на EVM имат някои ограничения, които трябва да бъдат разгледани. Една от най-значимите от тях е ограниченият достъп до полезни библиотечни функции за синтактичен анализ на JSON структури или аритметика с плаваща запетая.

Публични и частни функции

Публичните функции са подобни на API, до които всеки по света може да има достъп. Всеки може да им се обади в кода си. Публичните функции са предназначени в много случаи за споделени процеси на платформа, която използват всички потребители.

Например, може да се направи публична функция, която да позволи на всички потребители на платформа да проверят баланса на сметката си. Един от най -често срещаните начини за използване на интелигентните договори е чрез публични функции.

Свързани: Какво е блокчейн и как работи?

Докато интелигентните договори могат да бъдат лесни за писане със Solidity, често е много трудно да ги напишете сигурно. Например, ако функцията за теглене в интелигентен договор не е защитена, нападателят може да манипулира уязвимата функция, за да източи сметка от средства.

Нападателят може да извика функция за теглене, за да изпрати пари до друга сметка, като използва цикъл, който многократно повтаря функцията за теглене.

Частните функции се извикват само от вътре в договорите. Те съдържат инструкции, които могат да бъдат изпълнени само след като бъдат извикани от други функции, във верига. Това затруднява манипулирането на кода от злонамерени участници.

Стандарти и кодова логика

Появяват се различни стандарти, които определят как интелигентните договори на Solidity се използват за изграждане на приложения на Ethereum. Тези стандарти са известни като ERC (Ethereum Request for Comments) стандарти. Стандартите се основават на документ, който съдържа насоки относно необходимите функции и ограничения за това как трябва да се държи кодът.

Стандартите ERC, които определят как работи Solidity, включват:

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

Има различни начини Solidity може да се използва, за да накара интелигентните договори да си взаимодействат помежду си. Солидността може да се използва и за създаване на специални инструкции за това как данните се съхраняват в интелигентния договор. Логиката и данните в интелигентните договори могат да бъдат разделени с помощта на Solidity. Използвайки заместващи договори, логиката на договора може да бъде променена, за да се позволи това.

Неизменяемост

Невъзможно е да се промени кода на интелигентен договор, след като е написан и компилиран. Това означава, че всеки ред код трябва да работи по предназначение, в противен случай може да има сериозни рискове от използването на кода.

Свързани: Как да станете програмист на блокчейн и да започнете да печелите големи пари

Тъй като блокчейнът на Ethereum е неизменен, е невъзможно да се променят данните и логиката, които са записани към него. Начин да заобиколите това е да използвате прокси, за да посочите друг договор, който съдържа действителна бизнес логика. Това позволява отстраняване на грешки, докато се прилага нова версия на договора.

актуализиране на windows xp до windows 7 безплатно

Разходи за газ

Има допълнителни разходи, които се плащат за използването на Solidity в основната мрежа на Ethereum. Някои от допълнителните разходи се основават на газовата система на Ethereum, която изисква плащане на миньорите за осигуряване на блокчейн мрежата, така че кодът да може да работи безопасно по нея.

Когато пишете интелигентни договори, е важно да запомните, че разходите за газ могат да определят колко ефективен е интелигентният договор. Тъй като таксите за газ се заплащат за всеки използван слот за съхранение, действията, изпълнени с код на Solidity, струват газ. Интелигентен договор, който е скъп за изпълнение, е малко вероятно да се използва в дългосрочен план.

Оптимизацията на газа помага да се намалят разходите за газ, когато се изпълнява кодът за стабилност. Някои от най -популярните методи за оптимизация на газа включват използването на библиотеки и използването на по -малко функции. Библиотеките често се използват за запазване на байт код.

Вместо да добавяте ненужен байт код към интелигентния договор, логиката може да бъде поставена в библиотеките. Това помага да се запази малкият размер на интелигентния договор. Чрез използване на по -малко функции е необходим по -малко байтов код, а трудността при одита на кода също се намалява.

Как може да се използва солидността в Ethereum?

Солидността се използва за създаване на интелигентни договори за заменими жетони и незаменяеми жетони. Различни стандарти се използват за изграждане на незаменяеми жетони и разменяеми жетони в екосистемата Ethereum.

Те позволяват да се създават различни видове случаи на използване за хора, които използват блокчейн. Солидността дава възможност на хората да използват жетони и незаменяеми жетони в Ethereum. От сеченето на незаменяеми жетони до добавянето им, за да се получат земеделски пулове за допълнителен интерес, различни видове използване на жетони са възможни от Ethereum.

Децентрализираните автономни организации (DAO) също са възможни от Solidity. DAO, който е нов тип онлайн организационна структура, е написан предимно на Solidity. DAO позволяват на различни хора да се събират като членове на онлайн платформа, където те гласуват ключовите решения на DAO.

Солидността дава възможност за автоматизиране на процеси в DAO. Примерите за автоматизация на процесите в DAO включват гласуване за ключови решения и разпределяне на репутация на членовете на DAO за техния принос към групата.

Определяне на стандарти за блокчейн

Солидността е много повече от език за програмиране. Това е определящ стандарт за бъдещето на блокчейн технологията.

Благодарение на броя разработчици с отворен код, работещи за подобряване на сигурността и производителността на Solidity, хиляди приложения в екосистемата Ethereum продължават да зависят от нея, за да работят техните приложения. Тъй като се създават нови стандарти за интелигентни договори в Ethereum, езикът ще стане по -безопасен за използване.

Дял Дял Туит електронна поща Възможен ли е наистина децентрализиран интернет? Как би могло да работи с блокчейн

Възможен ли е наистина децентрализиран интернет? Какво означава децентрализация и как би ви предпазила?

Прочетете Напред
Свързани теми
  • Обяснена технология
  • Програмиране
  • Ethereum
  • Блокчейн
За автора Калвин Ебун-Аму(48 статии са публикувани)

Калвин е писател в MakeUseOf. Когато не гледа Рик и Морти или любимите му спортни екипи, Калвин пише за стартиращи компании, блокчейн, киберсигурност и други сфери на технологиите.

Още от Калвин Ебун-Аму

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате