Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

На каком языке написали Биткоин и смарты-контракты Эфириума? Поговорим про главный язык программирования блокчейн-проектов и расскажем, какие еще языки бывают.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Материал подготовила команда финансовой платформы Bitbanker

Solidity — это высокоуровневый, объектно-ориентированный язык программирования, его разработали Гэвин Вуд, Кристиан Райтвайснер и другие участники Ethereum Foundation для создания смарт-контрактов на платформе Эфириума. Смарт-контракты автоматизируют выполнение соглашений и транзакций без необходимости участия третьих сторон.

Solidity компилируется в байт-код, который исполняется на Виртуальной машине Эфириума (EVM). Синтаксис языка похож на JavaScript, поэтому его легко освоить разработчикам, которые уже знакомы с веб-программированием.

Solidity поддерживает:

  • контракты — они содержат бизнес-логику и правила взаимодействия между участниками сети;
  • наследование, которое позволяет разработчикам создавать более сложные и повторно используемые компоненты;
  • библиотеки для организации и повторного использования кода;
  • интерфейсы для взаимодействия между различными контрактами, что облегчает модульное проектирование приложений.
Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Где используют Solidity

Solidity — основной язык для более 75% смарт-контрактов блокчейна Эфириум.

Его активно используют в DeFi–проектах, например, Uniswap и Compound, которые позволяют пользователям давать в долг и занимать криптовалюты без посредников.

На Solidity создают NFT-маркетплейсы вроде OpenSea и Rarible.

Децентрализованные автономные организации (DAO), такие как MakerDAO, используют смарт-контракты на Solidity для управления децентрализованными проектами и принятия коллективных решений.

Solidity вдохновил создание других языков для смарт-контрактов, например Vyper, который стремится сделать разработку безопаснее и проще, устраняя сложные и потенциально опасные функции Solidity.

Сообщество разработчиков Solidity выросло втрое за несколько лет, согласно опросу. Больше 50% опрошенных используют язык каждый день или каждую неделю.

Один из самых известных проектов на Solidity — игра Cryptokitties. Это приложение позволяет пользователям покупать, разводить и продавать виртуальных кошек, каждая из которых представляет собой невзаимозаменяемый токен (NFT) на блокчейне Эфириум.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Python

Python — интерпретируемый язык программирования. Считается, что это легкий в изучении язык. Его философия основана на простоте и минимализме, а один из принципов говорит, что «должен быть один — и желательно только один очевидный способ сделать это».

Язык часто используют в разработке блокчейн-проектов из-за множества библиотек и активного сообщества разработчиков. В Python можно быстро создавать прототипы и тестировать блокчейн-приложения, поэтому он популярен у новичков и не только.

На Python разрабатывают платежные системы, которые позволяют мерчантам принимать Bitcoin и другие криптовалюты. Так бизнес интегрирует криптовалютные платежи.

У Python одно из самых больших сообществ разработчиков. В 2022 году по всему миру было более 10 миллионов программистов Python. Около 70% разработчиков машинного обучения и специалистов по данным используют Python.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

C++

C++ использовали для создания первых блокчейн-систем, например, Биткоина. Из-за эффективности и контроля над памятью, C++ выбирают для разработки высокопроизводительных блокчейн-протоколов и смарт-контрактов. У языка старейшее сообщество — примерно 7,5 миллионов разработчиков.

Биткоин — первый и самый известный блокчейн-проект, где отметился C++. Bitcoin Core, основное программное обеспечение для работы с сетью, полностью написано на C++. Язык заложил основу современных криптовалют и остается эталоном для новых блокчейнов.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Интересно, что большинство разработчиков C++ используют современные стандарты языка, такие как C++17 и C++20, это улучшает инкапсуляцию и уменьшает время компиляции. Но при этом много разработчиков вынуждены использовать старые стандарты, чтобы поддерживать существующие проекты.

Go (Golang)

Go — статически типизированный язык программирования, который разработали в Google. Он эффективен и поддерживает параллелизм, поэтому его используют для блокчейн-узлов и децентрализованных приложений. У Go активное сообщество разработчиков, особенно в корпоративных и блокчейн-проектах. По опросам, больше 1 миллиона разработчиков используют Go по всему миру, и популярность языка продолжает расти из-за его производительности и простоты.

Go используют в Эфириуме и Hyperledger Fabric, а Netflix и Uber применяют язык для масштабируемых решений, чтобы быстро обрабатывать большие объемы данных с высокой скоростью.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Антропоморфный суслик Golang Gopher — это маскот языка Go, символ сообщества разработчиков.

Его создал в 2009 году художник Рене Френк. Персонажа придумали, чтобы добавить веселья и индивидуальности языку Go. Суслика полюбили разработчики и сейчас персонажа используют в логотипах, мемах, иллюстрациях и на конференциях, с ним выпускают наклейки, футболки и игрушки.

Rust

Rust — это системный язык программирования, безопасный и производительный. Rust создали в Mozilla, его надежность и минимум уязвимостей в коде сделали его популярным в блокчейн-разработке.

У языка Rust одно из самых активных и быстрорастущих сообществ, сейчас в нем около 1,1 миллиона разработчиков. С 2019 по 2021 год число разработчиков почти утроилось с 0,4 миллиона до 1,1 миллиона. В 2022 году Rust стал любимым языком разработчиков по опросу Stack Overflow.

Что такое Solidity и на чем еще пишут блокчейн-проекты: краткий обзор

Solana использует Rust для своих смарт-контрактов и высокопроизводительных децентрализованных приложений (dApps). Благодаря Rust Солана стала одной из самых быстрых и масштабируемых сетей в мире со скоростью обработки 65 000 транзакций в секунду.

Язык разработали для высокой производительности и низких задержек, это критически важно для блокчейнов с высокой пропускной способностью.

Код на Rust непосредственно компилируется в эффективный машинный код, что снижает накладные расходы на выполнение. Он обеспечивает безопасность памяти без сборщика мусора (garbage collector) — это особенно важно для высокопроизводительных систем.

Солана – одна из немногих сетей, не поддерживающих EVM или его аналоги. Все контракты на Солане (там они называются программами) написаны на Rust.

На момент публикации в сети Солана было 264 приложения (dApps). Экосистема стремительно растет. Осенью 2023 года сеть занимала третье место по объему транзакций в неделю (больше $3 млрд) и уступала по этому показателю только Эфириуму ($9,97 млрд) и Арбитруму ($4,49 млрд). Объем торгов на DEX в сети вырос за неделю больше чем на 50% и превысил $3 млрд, по данным DeFiLlama.

Благодаря молниеносной скорости транзакций и более низким комиссиям, чем на Эфириуме, на блокчейне Солана возник настоящий бум NFT. Например, 23 мая 2024 года за сутки в сети было продано 574 NFT на сумму $715 451, а общий объем рынка был $367 601 709, по данным nftpricefloor.

Экосистема Солана
Экосистема Солана

Vyper

Vyper — самый молодой язык в списке. Он был разработан как альтернатива Solidity в 2017 году, чтобы упростить разработку и повысить безопасность смарт-контрактов. В 2018 году к разработке языка присоединились участники сообщества Эфириум.

Curve Finance, крупный DeFi–проект, использует Vyper в своих смарт-контрактах.

Интересно, что язык был вдохновлен Python, и именно эта схожесть привела к взлому протокола Curve Finance примерно на $70 миллионов летом 2023 года, который затронул несколько пулов ликвидности и и вызвал панику в экосистеме DeFi. В итоге хакер вернул часть средств из любви к проекту.

Некоторые смарт-контракты были уязвимыми к атакам re-entrancy: хакеры могли заставить их неверно вычислять баланс, что позволяло им похищать деньги из протоколов контрактов.

Bitbanker — это легкий способ работы с активами. Здесь вы найдете разные инструменты для отправки денег за рубеж: от переводов на иностранные карты Visa до SWIFT-переводов. Свободные активы можно использовать, чтобы получать пассивный доход от инвестиций и вкладов. Можно тратить рубли, при этом сохранять накопления в долларах, если оформить займ. Для фрилансеров и онлайн-бизнеса есть криптоэквайринг. Еще в Bitbanker можно купить или продать USDT, BTC, ETH, USDC, рубли, доллары, евро, киргизские сомы, дирхамы ОАЭ и другие валюты.

Другие полезные материалы смотрите в нашем блоге:

Будем рады ответить на ваши вопросы в комментариях.

44
3 комментария

А с каким языком выше оплата?

Не в языке вопрос, а в опыте и проекте.

"C++17 и C++20"
Даже не думал, что есть такое.