BTC $ 4075.8999328 (0.21 %)
ETH $ 139.900045488 (-0.21 %)
XRP $ 0.3188504571 (-0.2 %)
LTC $ 60.7232185747 (0.7 %)
EOS $ 3.7416890089 (-0.79 %)
BCH $ 159.809921526 (-1.23 %)
BNB $ 15.2707217272 (-1.86 %)
XLM $ 0.1110314828 (-2.39 %)
USDT $ 1.0106963833 (-0.44 %)
TRX $ 0.023003723 (-0.41 %)

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

09:00 25/10/2018
Устаревшие языки программирования на Эфириуме

Введение

 

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

 

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

 

Mutan

 

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

 

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

Mutan — язык программирования, разработанный сооснователем Эфириума Джеффри Вильке

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

 

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

 

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

 

LLL

 

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

 

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

Низкоуровневый Lisp-подобный язык

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

 

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

 

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

 

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

 

Serpent

 

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

 

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

 

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

 

Послесловие

 

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

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

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

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

Загрузка...