Язык программирования Solidity

Solidity — статично-типизируемый, объектно-ориентированный, высокоуровневый язык программирования для написания смарт контрактов исполняемых Ethereum Virtual Machine.

Смарт контракты это программируемые соглашения, которые хранятся в блокчейне и автоматически исполняются, когда выполняются условия, определенные в коде контракта.

С помощью смарт контрактов делают NFT-сейлы, проводят голосования, устраивают ICO, разрабатывают токены, децентрализированные игры и обменники. Поэтому на фоне хайпа криптовалют язык программирования Solidity быстро обрел востребованность и популярность.

Solidity имеет схожий синтаксис с Javascript и C++, поддерживает наследование, библиотеки, позволяет создавать сложные структуры и перечисления, что делает код понятным, удобным и легко читаемым

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

История языка Solidity


Разработка Solidity стартовала в 2014 году, когда команда Ethereum начала работу над своим блокчейном. Целью создания Solidity было предоставить способ написания безопасных смарт-контрактов, которые будут выполняться на мощностях Эфира.

Идея была предложена Гэвином Вудом (Бывший научный сотрудник Microsoft, соучредитель Ethereum, ученый информатик, создатель Polkadot и Kusama), но основная часть разработки проходила под кураторством Христиана Райтвинзера, так же в команде состояли: Либойс Лавльянд, Алекс Беркман, Якоб Хаун и Пипп Макк.

Создавая солидити разработчики были вдохновлены такими языками, как Python, C++ и Javascript. Он также был разработан с учетом уникальных возможностей, которые предоставляет блокчейн Ethereum, включая возможность создания цифровых активов, использования токенов и управления децентрализованными приложениями.

Первая стейбл версия Солидити вышла в 2015 году, с тех пор язык активно развивается и постоянно меняется. Вокруг него сформировалось большое и активное комьюнити блокчейн разработчиков и контрибюторов.  На сегодняшний день Solidity - самый популярный язык программирования для написания смарт контрактов.

Пример кода на Solidity

Давайте рассмотрим несколько примеров кода с использованием языка программирования Solidity:

// SPDX-License-Identifier: MIT
pragma solidity >=0.4 <0.9.0;

contract Storage {
    uint storedNumber;

    function set(uint x) public {
        storedNumber = x;
    }

    function get() public view returns(uint) {
        return storedNumber;
    }
}
Простой пример кода Solidity

Выше показан простой пример кода на Solidity в котором мы объявляем переменную storedNumber хранящую в себе Число.

А так же 2 функции:

  • setNumber - в кторой мы принимаем аргумент x и говорим, что storedNumber равняется x
  • getNumber - единственная задача которой вернуть значение storedNumber

Важно заметить, что при объявлении переменных обязательно указывать их тип, в нашем случае это uint. Так же обязательно указывать тип переменной, которую мы хотим вернуть в результате выполнения функции.

Говоря о Solidity обязательно стоит упомянуть уникальный тип данных address, с которым вы, скорее всего, раньше не работали. По отношению к адресам мы можем применять следующие методы: balance ,transfer, send, call, callcode, and delegatecall . Пример кода для проверки баланса адреса:

function getAddressBalance(address x) public view returns(uint) {
    return address(x).balance;
}
Функция проверяющая баланс указанного адреса

Стоит учить Solidity?

Вопрос риторический. Если вы хотите освоить блокчейн разработку и занять свое место на рынке - однозначно да! Solidity сравнительно несложный и отлично подойдет в качестве первого языка программирования.

Язык Solidity по прежнему очень молодой, при этом зарплаты блокчейн разработчиков с опытом 2-3 года часто бывают выше, чем у опытных DevOps или Python синиоров. Индустрия постоянно растет и развивается, на Солидити можно писать код не только под Ethereum, но и под множество других блокчейнов, а хороших специалистов в этой отрасли очень мало.

Стоит заметить, что спрос на Solidity и блокчейн разработку сильно связан с популярностью криптовалюты. Больше хайпа = больше востребованности.

Спрос на Solidity разработчиков во время булрана 2017 года

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

График популярности запроса "Solidity" согласно Google Trends

Мир начинает принимать и массово использовать криптовалюты, все больше корпораций интегрируют блокчейн решения в свои бизнес процессы. Каждый день на рынке появляются новые крипто-стартапы и всем им нужны специалисты, поэтому на сегодняшний день смело можно сказать, что Solidity - самый перспективный для изучения язык программирования в 2023 году.

Где учить Solidity?

Начать изучение Солидити можно на нашем сайте! Solidity University — образовательная платформа для изучения языка программирования Solidity и Блокчейн Разработки.

У нас вы найдете все необходимые материалы, базу знаний, словарь, бесплатные курсы по созданию децентрализированных приложений (dApps), а так же множество интересной информации о web3 и профессии блокчейн разработчиков изнутри в нашем блоге.

Полезные материалы