Язык программирования для криптовалют

Как стать разработчиком криптовалюты

Что такое криптовалюта

Криптовалюта — это денежная единица, существующая лишь в цифровом представлении, защищённая криптографией. Преимуществ криптовалюты по отношению к естественным деньгам несколько:

  • Децентрализация. Ни одна страна, ни один банк не могут владеть и управлять криптовалютой, в то время как естественная экономика фактически зависит от действий ограниченного круга лиц.
  • Защищённость. Одна из главных особенностей электронных денег — наличие сложного алгоритма шифрования у каждой единицы, что делает невозможным любые противоправные действия.
  • Открытость. Любой человек в мире может начать добывать криптовалюту, используя «майнинг».

Последний пункт как раз вызывает невероятный интерес в СМИ. На деле же всё предельно просто. Каждая криптовалюта имеет сложные алгоритмы шифрования. Для того, чтобы обработать эти алгоритмы, требуются вычислительные мощности (обычно это видеокарты, так как необходимы параллельные вычисления). С ростом количества криптовалюты растёт и сложность шифрования, что в конечном счёте уводит «майнинг» с персональных компьютеров к огромным хранилищам железа. Если в 2010 году вы могли сгенерировать биткоин на игровом ноутбуке за пару дней, то теперь для этого потребуется месяц непрерывной работы техники или целый шкаф вычислительных машин.

Какие бывают криптовалюты

Рынок криптовалют молод и не слишком стабилен. Отсюда резкие падения и взлёты курса, а также нерегламентируемое количество основных игроков. Bitcoin — самая известная и одна из старейших криптовалют имеет объём торгов районе 1,5 млрд долларов в месяц. Как правило, в масс-медиа, когда говорят о криптовалюте, подразумевают как раз Bitcoin.

На втором месте по текущей популярности расположился Ethereum, у него оборот в районе 600 млн долларов за последние 30 дней. Дальше в порядке убывания: Ripple, Litecoin, Dash, NEM и так далее. Всего на бирже зарегистрировано свыше 1000 криптовалют, для большей части которых колебания курса на 20-30% за неделю — норма.

Что надо знать для разработки

Главная прелесть электронных финансов — вы можете создать свою собственную валюту, вывести на биржу и сколотить на этом состояние. Разумеется, только теоретически. Фактически вам потребуется проделать следующие шаги:

  1. Изучить алгоритмы шифрования. Для изготовления монет вы должны прекрасно знать свойства металлов, а для создания криптовалюты алгоритмы шифрования. Начните с базовых — SHA256 и Scrypt. В процессе придётся пойти дальше и изучить X11, X13, X15, Nist5, NeoScrypt, Keccak, Quark и Qubit.
  2. Изучить Bitcoin. Это самая стабильная криптовалюта на бирже, именно её надо брать за ориентир и развивать идею. Проблема заключается в том, что Bitcoin настолько проработанная валюта, что вам потребуются месяцы на изучение и поиск недостатков.
  3. Найти команду. В одиночку даже майнингом тяжело заниматься, а уж для разработки своей валюты вам потребуется минимум 5-6 человек со знанием С++ и Python. Именно на этих языках написана большая часть клиентов, поэтому так будет проще копипастить.
  4. Заниматься продвижением криптовалюты. Вам потребуется от полугода до года на то, чтобы запустить проект в жизнь, но это лишь начало. На бирже действуют стандартные законы бизнеса: без ежедневной доработки, без явных преимуществ над конкурентами, все усилия пропадут за пределами топ-1000 рейтинга.

Перспективы трудоустройства

Связать свою карьеру с криптовалютой можно тремя способами:

  1. Выступить в команду разработки новой валюты или создать собственную. Как правило, это работа на общественных началах за кусок будущего пирога или за небольшие деньги. Объявления о поиске разработчиков можно найти на бирже фриланса или на форумах криптовалют.
  2. Найти стандартную работу с уклоном на криптовалюты. Среди вариантов: разработчики Java, Go, Fullstack и т.д.
  3. Попроситься в официальную команду разработчиков уже существующей криптовалюты. Например в IRC-канале сообщества Bitcoin.

Какой бы путь вы не выбрали, в последнюю очередь думайте о материальной выгоде. Криптовалюты — очень нестабильная денежная единица, которая сегодня может приносить вам доход, а завтра исчезнуть. Лишь тот, кому интересна тема шифрования и транзакций, кто готов посвятить этому всю карьеру, будет востребован и богат.

Каждый, кто регулярно просматривает новости IT, в последние месяцы наверняка заметил невероятный ажиотаж вокруг криптовалюты. Люди арендуют целые ангары, скупают тысячами видеокарты, чтобы взращивать не имеющие физического воплощения деньги. Давайте попробуем разобраться, что представляет из себя эта валюта, как она появляется на свет и что за люди стоят за её разработкой.

Что такое криптовалюта

Криптовалюта — это денежная единица, существующая лишь в цифровом представлении, защищённая криптографией. Преимуществ криптовалюты по отношению к естественным деньгам несколько:

  • Децентрализация. Ни одна страна, ни один банк не могут владеть и управлять криптовалютой, в то время как естественная экономика фактически зависит от действий ограниченного круга лиц.
  • Защищённость. Одна из главных особенностей электронных денег — наличие сложного алгоритма шифрования у каждой единицы, что делает невозможным любые противоправные действия.
  • Открытость. Любой человек в мире может начать добывать криптовалюту, используя «майнинг».

Последний пункт как раз вызывает невероятный интерес в СМИ. На деле же всё предельно просто. Каждая криптовалюта имеет сложные алгоритмы шифрования. Для того, чтобы обработать эти алгоритмы, требуются вычислительные мощности (обычно это видеокарты, так как необходимы параллельные вычисления). С ростом количества криптовалюты растёт и сложность шифрования, что в конечном счёте уводит «майнинг» с персональных компьютеров к огромным хранилищам железа. Если в 2010 году вы могли сгенерировать биткоин на игровом ноутбуке за пару дней, то теперь для этого потребуется месяц непрерывной работы техники или целый шкаф вычислительных машин.

Какие бывают криптовалюты

Рынок криптовалют молод и не слишком стабилен. Отсюда резкие падения и взлёты курса, а также нерегламентируемое количество основных игроков. Bitcoin — самая известная и одна из старейших криптовалют имеет объём торгов районе 1,5 млрд долларов в месяц. Как правило, в масс-медиа, когда говорят о криптовалюте, подразумевают как раз Bitcoin.

Читайте также:  Рыночные показатели эффективности инвестиций

На втором месте по текущей популярности расположился Ethereum, у него оборот в районе 600 млн долларов за последние 30 дней. Дальше в порядке убывания: Ripple, Litecoin, Dash, NEM и так далее. Всего на бирже зарегистрировано свыше 1000 криптовалют, для большей части которых колебания курса на 20-30% за неделю — норма.

Что надо знать для разработки

Главная прелесть электронных финансов — вы можете создать свою собственную валюту, вывести на биржу и сколотить на этом состояние. Разумеется, только теоретически. Фактически вам потребуется проделать следующие шаги:

  1. Изучить алгоритмы шифрования. Для изготовления монет вы должны прекрасно знать свойства металлов, а для создания криптовалюты алгоритмы шифрования. Начните с базовых — SHA256 и Scrypt. В процессе придётся пойти дальше и изучить X11, X13, X15, Nist5, NeoScrypt, Keccak, Quark и Qubit.
  2. Изучить Bitcoin. Это самая стабильная криптовалюта на бирже, именно её надо брать за ориентир и развивать идею. Проблема заключается в том, что Bitcoin настолько проработанная валюта, что вам потребуются месяцы на изучение и поиск недостатков.
  3. Найти команду. В одиночку даже майнингом тяжело заниматься, а уж для разработки своей валюты вам потребуется минимум 5-6 человек со знанием С++ и Python. Именно на этих языках написана большая часть клиентов, поэтому так будет проще копипастить.
  4. Заниматься продвижением криптовалюты. Вам потребуется от полугода до года на то, чтобы запустить проект в жизнь, но это лишь начало. На бирже действуют стандартные законы бизнеса: без ежедневной доработки, без явных преимуществ над конкурентами, все усилия пропадут за пределами топ-1000 рейтинга.

Перспективы трудоустройства

Связать свою карьеру с криптовалютой можно тремя способами:

  1. Выступить в команду разработки новой валюты или создать собственную. Как правило, это работа на общественных началах за кусок будущего пирога или за небольшие деньги. Объявления о поиске разработчиков можно найти на бирже фриланса или на форумах криптовалют.
  2. Найти стандартную работу с уклоном на криптовалюты. Среди вариантов: разработчики Java, Go, Fullstack и т.д.
  3. Попроситься в официальную команду разработчиков уже существующей криптовалюты. Например в IRC-канале сообщества Bitcoin.

Какой бы путь вы не выбрали, в последнюю очередь думайте о материальной выгоде. Криптовалюты — очень нестабильная денежная единица, которая сегодня может приносить вам доход, а завтра исчезнуть. Лишь тот, кому интересна тема шифрования и транзакций, кто готов посвятить этому всю карьеру, будет востребован и богат.

Источник

Языки блокчейн программиста. Разработки децентрализованных приложений

Поскольку человечество движется к оцифровке всех активов, базовые знания программирования становится необходимостью даже для любого человека, даже тех кто не увлекается технологиями. Это требование становится еще более очевидным, когда речь идет о сфере блокчейна. Если мы действительно стремимся к настоящей децентрализации, каждый из нас должен понимать как все работает, хотя бы на элементарном уровне. Независимо от того, являетесь ли вы опытным инженером-программистом или обычным Ивном, прежде чем изучать функции блокчейна, вы должны сначала выбрать язык программирования.

Для новой технологии, которая развивается в стремительном темпе, задача выбора языка программирования может быть не тривиальной. Их множество, тем не менее различные стартапы и проекты с открытым исходным кодом выбирают разные языки для создания своих продуктов, так как их фокус и набор желаемых функций различаются. Какого то стандарта и на данный момент, Ваш выбор будет в значительной степени соответствовать вашим личным критериям и типу приложений, которые вы хотите создавать.

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

Самые популярные языки программирования в блокчейне

Прежде всего, нам необходимо понять, какой из языков программирования используется чаще всего, когда речь идет о написании кода в блокчейне.

Прежде чем приступить к рассмотрению языков для блокчейн-программирования, нам нужно взглянуть на их дедушку — C ++. Этот язык был выпущен в 1985 году Бьярном Страуструпом, чтобы сделать оригинальный язык C более гибким. Более трех десятилетий спустя именно он использовался для создания сети биткоин.

В отличие от оригинального C, который ориентирован на процессы, C ++ является объектно-ориентированным. Такой подход делает C ++ более эффективным по времени, когда речь идет о написании кода. Данные вместе с функциями хранятся в так называемых объектах, которые впоследствии могут быть повторно использованы в других программах.

Благодаря своей зрелости, неудивительно, что с точки зрения разработки блокчейна, функциональные возможности C ++ достаточно хороши. Этот язык имеет управление памятью, которое обеспечивает скорость за счет эффективного управления процессором, многопоточность — которая позволяет одновременно выполнять параллельные / непараллельные задачи, удобную передачу семантики для копирования данных, полиморфизм во время компиляции для повышения производительности за счет разделения задач и изоляцию кода для разделения структур данных. Кроме того, его пользовательская база насчитывает более четырех миллионов разработчиков.

Одним из основных недостатков C ++ для разработчиков блокчейнов является то, что он не приспособлен к умным контрактам . Это не означает, что на C ++ нельзя разрабатывать умный контракт, это означает лишь то, что необходимо создавать новые инструменты. К тому же этот язык самый сложный из всех представленных. По этой причине стали появляться специфичные для блокчейна языки.

Плюсы: приложения независимы и мультиплатформенны

Минусы: довольно сложный в освоении, сложный и иногда трудный для отладки

Лучше всего подходит для: продвинутых пользователей, понимающих принципы сети Биткоин

C # моложе C ++, но он тоже довольно старый. Созданный в конце 90-х годов в Microsoft , он быстро завоевал популярность в сообществе разработчиков. Это язык ООП (объектно -ориентированного программирования), который предоставляет отличные возможности для приложений корпоративного уровня, облачной и кросс-платформенной разработки. При поддержке Microsoft этот язык является удобным инструментом как для профессионалов, так и для начинающих программистов.

Читайте также:  Как расчитать доходность банка

C # не только гибок и прост в понимании, если вы знакомы с C ++ или Java, но также содержит множество функций. В дополнение к некоторым функциональным возможностям C ++ C # предлагает платформу. NET и ее библиотеку классов, среду выполнения общего языка и среды разработки (такие как WPF, XAML и ASP.NET).

C # предпочитают крупные блокчейн разработчики по нескольким причинам:

Его синтаксис легко понять разработчикам, которые уже знакомы с C ++ (4 ,4 миллиона разработчиков).

Открытый исходный код

Позволяет писать адаптированый для мобильных устройств код

Доступен благодаря программе BizSpark.

Среди наиболее известных стартапов, основывающих свой код на C #, — NEO http://coincase.ru/coins/neo/ и Stratis. Кроме того, C # имеет специальную биткоин платформу (NBitcoin ). Microsoft не отстает и представляет блокчейн vNext для своей платформы Azure.

Плюсы: объектно-ориентированный, строго типизированный, динамическая поддержка кода

Минусы: слабая поддержка Linux

Лучше всего подходит для: создания блокчейнов инфраструктуры для пользователей Windows

JavaScript

Это, пожалуй, самый признанный язык программирования в мире. Веб-страницы, которые вы прокручиваете каждый день, используют javascript для интуитивно понятного, привлекательного и адаптивного внешнего вида (frontend ) веб сайтов и расширенной функциональности. Цитата 2007 года Джефф Этвуд:

«Любое приложение, которое может быть написано на JavaScript, в конечном итоге будет написано на JavaScript».

JavaScript — это ООП-язык, который легко выучить, но при этом он достаточно универсален. Используя JS, разработчики могут писать код для клиентской и серверной части, устройства IoT и машинного обучения. Одним из основных преимуществ JavaScript с точки зрения блокчейна является возможность асинхронного запуска событий, что означает, что он позволяет узлам свободно и эффективно взаимодействовать. Другая сила JS в том, что он не требует компиляции. В то же время простота обходится дорого. Несмотря на все свои функции, JS далека от C ++, но это отличный язык для начинающих.

JavaScript не был очень популярен среди разработчиков блокчейнов до взлета ICO проектов в 2017 году. В настоящее время на CoinMarketCap существует несколько стартапов с высокими рейтингами, основанных на этом языке, таких как Lisk, Ark и Nimiq. Один из наиболее заметных конкурентов Ethereum и Tron также поддерживает JavaScript.

Плюсы: объектно-ориентированный, основанный на прототипах, поддерживает функциональное программирование

Минусы: динамичный, слабо типизированный

Лучше всего подходит для: входа в блокчейн-пространство, создания приложений

Python

Python был создан в минималистском стиле. Вот почему этот язык чрезвычайно прост в изучении и является отличной отправной точкой для начинающих. Он был создан в 1991 году и служил множеству целей, таких как разработка приложений, разработка сетевых серверов, IoT и другие. Возможно, он еще не так признан, как JS, но безусловно, вызывает большой интерес в мире технологий.

Python является языком ООП. Это удовольствие от кодинга и универсальность. Чтобы кодировать простой блокчейн, вам понадобится не более 50 строк. После написания кода его можно запустить на нескольких устройствах с другой установленной ОС. Существует также огромная библиотека фреймворков, таких как Tensorflow и Django, хотя в некоторых случаях их документация может быть неполной. Чтобы добавить к этому, в настоящее время существуют специальные библиотеки, посвященные разработке блокчейна. Как и JavaScript, Python не требует компиляции, хотя он может быть скомпилирован как C # и C ++. Добавьте к этому специальную среду тестирования и вы получите швейцарский армейский нож для путешествия по блокчейну.

Python был признан суперзвездами отрасли. IBM Hyperledger реализовал его в Sawtooth, а Ethereum создал свою собственную итерацию этого языка: Pyethereum.

Плюсы: очень легко учиться, готовые библиотеки и фреймворки, эффективен

Минусы: в основном используется как серверный язык

Лучше всего подходит для: Создание приложений для начинающих

Golang (или Go) — это язык с открытым исходным кодом, созданный на языке C. Это очень молодой язык, созданный в 2007 году разработчиками из Google. Реализация синтаксиса Go более похожа на Python — она упрощена, чтобы обеспечить эффективность и сделать проекты, созданные с ее помощью, ориентированными на будущее.

Сильные стороны Go для блокчейн-программирования включают в себя наличие модульного программирования, которое делает процесс разработки гибким, удобные инструменты тестирования и огромную библиотеку функций. Это было бы наиболее привлекательным для разработчиков облачных вычислений, поскольку распределенные вычисления очень просты с точки зрения этого языка. Хотя этот язык требует компиляции, он является хорошим фактором для безопасности, поскольку все ошибки будут показаны человеку, пишущему код, перед его запуском. Кроме того, параллельное программирование вместе с Goroutines повышает эффективность кода и пропускную способность приложений. Это очень важно для масштабируемости, которая сегодня является основной проблемой в пространстве блокчейнов. Наконец, Go работает с ОС, а не поверх нее. Это исключает дополнительный шаг при создании EVM, следовательно, увеличивает скорость.

Go — это известный язык в сфере блокчейна. Рассмотрим IBM Hyperledger , который используется Golang для кодирования умных контрактов в его Fabric. Docker — это не запуск блокчейна, но он работает с распределенными системами и построен на Go.

Плюсы: безопасность памяти, сборка мусора, строго типизированы

Минусы: не так легко учиться, относительно небольшое сообщество, небольшое количество пакетов

Лучше всего подходит для: Создание облачных приложений

Solidity

Solidity молод, как Golang. Он был выпущен в 2014 году Кристианом Райтвайснером и его командой. Это язык, который был создан для написания умных контрактов на Ethereum, поэтому он наиболее популярен в экосистеме Ethereum. Стоит отметить, что за последние два года экосистема выросла в сотни раз из-за различных стартапов, наводнивших рынок. В результате Solidity имеет большую базу пользователей. Его стандарт ( ERC20 ) стал основным для отрасли.

Solidity ООП и контактно-ориентированный язык. Он также завершен по Тьюрингу, что означает, что он может интерпретировать различные правила манипулирования данными. Синтаксис Solidity похож на синтаксис JavaScript, но с C ++ и Python есть некоторые сходства. Несмотря на свою молодость, Solidity является функциональным языком, он предоставляет наследование, различные библиотеки и т. д. Недостатком являются проблемы с документацией, которые могут оставить некоторых разработчиков в затруднительном положении.

Читайте также:  Как найти один биткоин

В настоящее время основными вариантами использования Solidity являются EVM и смарт-контракты. Это немного, но они чрезвычайно важны и специфичны для блокчейна, насколько это возможно. Если вы хотите разработать dApp или создать смарт контракт , Solidity — это ваш выбор.

Плюсы: статично, легко учиться, модно

Минусы: не универсальный, уязвимый

Лучше всего подходит для: Разработка умных контрактов

Основы блокчейн программирования

Теперь, когда мы рассмотрели самые популярные языки программирования в блокчейне, пришло время показать примеры, перейти от теории к практике. Давайте посмотрим, как основные операции выполняются в разных языки программирования.

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

Теперь мы можем создать еще один блок. Для этого мы введем getLatestBlock ( ).

В результате мы увидим, как блокчейн сравнивает данные в хешах блоков, чтобы проверить, соответствуют ли они.

Механизм консенсуса представляет собой простую функцию цикла for, которая выполняется для всех блоков, начиная с 1, поскольку нет необходимости пересматривать блок 0 genesis.

Если мы визуализируем структуру, это выглядит так:

Вот как мы добавляем новые блоки:

Для того, чтобы наш блокчейн достиг консенсуса, например проверил его, нам нужно всего 2 строки кода вместе с методом IsValid, который будет проверять данные в каждом из блоков и сравнивать хэши.

3. JavaScript

Теперь мы достигаем территорий с более доступными языками, это должно быть веселее, если у вас нет опыта в программировании. Чтобы создать блокчейн, нам нужна среда выполнения, такая как Node.js. Каждый из дополнительных блоков будет иметь следующие данные: индекс, время создания, парамеры (например , адреса отправителя и получателя и переданная сумма), хэш предыдущего блока, собственный хеш. Как только это будет сделано, пришло время перейти к hard coding первоначального блока генезиса:

Получив блок genesis, теперь мы добавим блоки с новыми данными через функцию nextBlock. Эта функция будет автоматически проходить все 5 типов данных и включать их в каждый новый блок.

Чтобы запустить наш блокчейн, нам нужно только убедиться, что процесс добавления блоков зацикливается бесконечно.

4. Python

На этот раз мы начнем с понимания того, как выглядит транзакция в Python. Это простой пост с отметкой времени и некоторыми данными.

Эти транзакции попадут в блоки. Давайте представим этот класс.

Мы будем использовать SHA-256, который используется в биткойнах для создания хэшей для проверки целостности нашей блокчейна.

Теперь мы можем добавить блоки, но сначала давайте представим алгоритм Proof-of-Work , который гарантирует, что данные в цепочке блоков не были повреждены или изменены.

После того, как это сделано, мы можем запустить наш блокчейн.

Мы начнем с определения свойств наших блоков. BPM — это произвольные данные, такие как сетевые транзакции, адреса и т. д.

Чтобы создать блоки, нам нужно хэшировать в них данные и связывать их по соответствующим результатам. Код для хеширования данных внутри блока в Go выглядит следующим образом:

Наконец, мы можем начать создавать новые блоки, используя функцию generateBlock. Время написать консенсус, который представлен функцией isBlockValid.

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

6. Solidity

Создание умных контрактов отличается от того, что мы только что рассмотрели. Во-первых, нам нужно создать контракт и назвать его. Этот контракт для исполнения воли человека, что в случае их смерти средства автоматически распределяются по конкретным адресам.

Здесь мы указываем адрес Эфириума владельца (владельца ), сумму, оставленную для распределения (единицы ) и условную переменную для состояния владельца (bool ). Следующим шагом является добавление модификаторов, которые расширяют условную логику для предоставления функции с состоянием владельца.

Когда это будет сделано, мы можем наметить адреса, которые получат наследство. Затем мы продолжаем указывать распределение средств в случае, если isDeceased = true. Обратите внимание, что на этом этапе мы можем скрыть функцию от общественности, поставив «private » рядом с функцией «payout ». Вуаля, код теперь можно развернуть.

Резюме

Подводя итог, нет только одного языка программирования, ориентированного на блокчейн. Сам блокчейн находится в зачаточном состоянии и существуют неизведанные горизонты и неизвестные материи. Как и во многих других сферах, лучший способ уверенно обойтись — стать full stack разработчиком, что может быть достаточно сложной задачей, учитывая сколько информации вам придется переработать. К счастью, многие языки программирования имеют сходство в синтаксисе и структуре для облегчения перехода.

Если вам нужно выбрать один язык, вы должны учитывать контекст. Если вы хотите сосредоточиться на создании инфраструктурных проектов, C ++ и C # подойдут вам больше. Если вы более увлечены разработкой приложений поверх существующих блокчейнов, JavaScript, Python и Go являются хорошими вариантами для рассмотрения. Если вы просто хотите запустить свой собственный токен ERC20 или смарт контракт — Solidity , несомненно лучший вариант для вас.

Также следует помнить, что блокчейны не зависят от языка. С появлением новых языков, таких как Simplicity и интеграции существующих языков, таких как SQL, границы между ними будут становиться все более размытыми. Помните, что язык — это всего лишь инструмент и вы можете использовать его для любых целей. Наш лучший совет заключается в том, что если вы уже знакомы с некоторыми языками, продолжайте осваивать их — вы определенно сможете создавать с ними блокчейны. Если вы только начинаете, попробуйте найти самую простую точку входа — обратите внимание на JavaScript и Solidity.

Источник

Оцените статью