BTC $ 3267.28935082 (1.08 %)
XRP $ 0.2889994938 (0.51 %)
ETH $ 86.3597551415 (2.5 %)
USDT $ 1.0061602198 (0.42 %)
XLM $ 0.0974503879 (0.94 %)
EOS $ 1.9281923092 (5.12 %)
LTC $ 25.9014449918 (9.6 %)
BCH $ 80.9643328194 (1.66 %)
BSV $ 74.4342054576 (5.54 %)
TRX $ 0.0130962587 (3 %)

Обычные языки для создания смарт-контрактов на разнообразных платформах

08:45 20/11/2018

Введение

 

Блокчейн-среда дружелюбна для энтузиастов и разнообразных концепций разработки. В IT-области существует множество инструментов, применяемых без изменений во многих криптопроектах. Вспомним язык SQL или реализацию стека TCP для обмена данными между нодами. Вероятно, наиболее распространенным и понятным является программирование смарт-контрактов при помощи обычных языков.

 

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

 

Общая информация

 

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

 

Языки, о которых идет речь, — Java, Kotlin, C++, GO, Python, Rust, JavaScript.

Java

 

Этот язык применим в таких проектах, как Corda, Hyperledger Fabric и NEO. В большинстве случаев Java требует запущенной Java Virtual Machine. Разработчики Corda утверждают, что Corda-контракты можно писать на любом языке, который обращается к JVM. Fabric использует контейнеры, эмулирующие JVM, а NEO применяет компиляторы и поддерживает программные модули для размещения контрактов, написанных на Java. Все компиляторы преобразуют контракты в байт-коды виртуальной машины NEO.

 

Kotlin

 

Этот менее известный язык используется в Corda и NEO. Kotlin обладает строгой типизацией и может обращаться к JVM, Android, JavaScript и Native платформам. Он обладает рядом преимуществ перед Java, хотя и использует его библиотеки. Kotlin можно назвать основным языком для Corda, поскольку сам проект и множество примеров написаны именно на нем. NEO применяет Kotlin на тех же условиях, что и другие языки. Компилятор, байт-коды, виртуальная машина NEO.

 

C++

 

C++ — один из старейших и наиболее популярных языков, который используется в NEO и EOS. Для NEO ничего не меняется по сравнению с Java и Kotlin. EOS использует преобразование программ при помощи WebAssemly и С++ компилятор для внедрения написанных смарт-контрактов в блокчейн. Этот язык рекомендуется для написания dApp на EOS.

GO

 

GO — язык программирования, разработанный корпорацией Google. У него открытый исходный код и мощная поддержка. Его применение в Hyperledger Fabric и NEO похоже на Java. Контейнеры эмулируют JVM для выполнения смарт-контрактов на GO. Компиляторы NEO с дальнейшим внедрением также используют GO.

 

Python

 

За последние годы язык Python набрал огромную популярность. Многие разработчики перешли на работу в его среде. Такие проекты, как NEO и EOS, используют Python наравне с С++. В рамках одного проекта, как правило, не бывает значительной разницы в применении языков.

 

Rust

 

Rust представляет собой системный язык программирования с повышенными требованиями к безопасности. Своим синтаксисом он походит на С++. Тем не менее правила управления памятью сильнее и строже. EOS — единственный проект, который использует Rust.

 

JavaScript

 

JavaScript — язык, хорошо знакомый большинству IT-специалистов. Он один из трех наиболее популярных в Интернете языков. Практически каждый веб-сайт применяет его для выполнения веб-приложений. Его можно использовать в проектах Hyperledger Fabric и NEO аналогично языкам Java и GO.

 

Дополнительная информация

 

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

Также можно упомянуть несколько интересных фактов. Hyperledger Sawtool позволяет писать группы команд, называемые семействами транзакций, для транзакций на различных языках типа Java, С++ и многих других. При этом контракты в нем пишутся исключительно на Solidity.

 

Другие языки тоже используются в экосистеме крипто, но они менее популярны: C#, VB.Net, F#, C. Среди особенных решений можно также упомянуть разнообразные виды байт-кодов и специфические доменные языки.

 

Послесловие

 

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

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

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

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

Загрузка...