BTC $ 5618.37653078 (1.01 %)
XRP $ 0.5104446638 (3.95 %)
ETH $ 176.536625136 (1.31 %)
BCH $ 385.305623061 (-0.75 %)
XLM $ 0.2484358742 (1.34 %)
EOS $ 4.5790422893 (0.09 %)
LTC $ 42.1852080652 (0.37 %)
USDT $ 0.9915437235 (0.42 %)
ADA $ 0.0618632609 (1.5 %)
XMR $ 88.8873362455 (0.66 %)

Устаревшие языки программирования для написания смарт-контрактов в Эфириуме

09:00 25/10/2018

Введение

 

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

 

Большинство смарт-контрактов на Эфириуме пишутся при поомщи языка Solidity. Этот язык постоянно развивается под наблюдением команды разработчиков Эфириума и наиболее популярен среди разработчиков. Однако существует несколько других языков, пригодных для создания Эфириум смарт-контрактов. Некоторые из них слабо поддерживаются или вовсе заброшены, а другие применимы до сих пор, хоть и не так распространены, как Solidity. Рассмотрим их подробнее (все данные из статьи проверены по состоянию на 18 октября 2018 г.).

 

Mutan

 

Mutan — язык программирования, разработанный сооснователем Эфириума Джеффри Вильке, который прекратил поддерживать разработку в 2015 году. Mutan должен был объединить повышенную читабельность и эффективность компиляции. Сегодня его место занято Solidity.

 

С точки зрения архитектуры Mutan — язык программирования, созданный на базе C. Это был язык высокого уровня, компилируемый в нативный язык Ethereum Assembly во время обработки. Он обновился до версии 0.6, после чего разработка прекратилась. Сайт GitHub Эфириума всё ещё хранит некоторые данные по проекту.

 

Как средство программирования, Mutan обладал развитой командной строкой и системой команд. От своего предка С он унаследовал:

 

  — поддержку библиотек;
  — стандартные арифметические, логические и бинарные операции;
  — массивы и функции;
  — условные и циклические выражения;
  — возможность вставлять Assembly-код.

 

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

 

LLL

 

LLL — это Lisp-подобный язык. Его название — аббревиатура от «Low-level Lisp-like Language» (в переводе с англ. «низкоуровневый Lisp-подобный язык»). Источники, содержащие информацию относительно его разработки, активно обновлялись с 2014 по 2017 год, а последнее обновление было опубликовано в марте 2018 года.

 

Несмотря на имя, язык LLL унаследовал от Lisp, скорее, его синтаксис, чем логику работы. Он был разработан для написания программ в EVM-коде, и они автоматически компилируются согласно PoC Эфириума третьей версии.

 

Каждый контракт в LLL может быть представлен как отдельное выражение различных типов:

 

  —  строки без пробелов и символов (либо в кавычках);
  —  целые числа;
  —  исполняемые выражения.

 

Кроме того, LLL поддерживает различные команды управления потоками процессов (if, when, unless, for, seq, raw), средства доступа к памяти и хранилищам, разнообразные арифметические и логические операции, литералы, макросы, встроенный ассемблер. Судя по всему, язык ограниченно активен и, возможно, даже пригоден для написания смарт-контрактов, учитывая серию статей, посвященных его применению, которая вышла в 2017 году.

 

Еще одна интересная особенность LLL — он используется в языке Serpent.

 

Serpent

 

Serpent — это язык высокого уровня, и на момент написания статьи он поддерживается слабо. Основанный на свойствах Python, он должен был стать простым и понятным. Авторы хотели объединить предпочтительные решения низкого уровня с легким стилем программирования. Его компилятор, написанный на С++, обладает особыми доменными свойствами, предназначенными для разработки смарт-контрактов.

 

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

 

Некоторая информация о Serpent доступна на сайте GitHub, но данные уже устарели.

 

Послесловие

 

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

 
Нашли ошибку? Выделите её и нажмите Ctrl + Enter чтобы сообщить администратору.

Самые актуальные новости о криптовалютах и блокчейне. Прочтите первым!

Зачем мне это?

Загрузка...