Перевод статьи https://cexplorer.io/article/aiken-simplifies-writing-smart-contracts-for-cardano
Некоторые могут ошибочно подумать, что если вы хотите писать смарт контракты для Cardano, вам нужно изучить Haskell. Вы можете пойти этим путем, а можете воспользоваться одной из появляющихся альтернатив. Одной из них является Aiken, новый язык программирования и инструментарий для разработки смарт контрактов на Cardano. Aiken станет полнофункциональной платформой, которая позволит вам быстро написать смарт контракт, включая подробные сообщения об ошибках, и удобным образом используя все необходимые инструменты.
TLDR
- Aiken фокусируется только на ончейн части приложения.
- Aiken позволит вам написать и запустить приложение “Привет, мир!” за 10 минут.
- Ончейн часть приложения может быть написана на любом языке, поскольку имеется компилятор, который переводит код в Plutus Core.
- Компилятор работает аналогично переводчику языка.
- Альфа-релиз с первыми пионерами запланирован на 1 квартал 2023 года.
Миссия проекта Aiken
Команда пытается создать платформу, которая позволяет писать смарт контракты без необходимости знания Haskell. Aiken - это совершенно новый язык программирования, вдохновленный Gream, Rust и Elm. Эти языки хорошо известны удобными сообщениями об ошибках и отличным опытом работы с разработчиками. У Aiken есть свой собственный синтаксис и компилятор. Ниже мы подробнее поговорим о важности компилятора.
Aiken фокусируется только на ончейн части приложения и не стремится стать языком общего назначения. Для серверной (оффчейн) части приложения необходимо использовать что-то еще.
Главная цель Aiken - упростить и ускорить разработку ончейн, уделяя особое внимание безопасности и проверке того, что код выполняет именно то, что от него ожидается. Поэтому необходимо, чтобы язык был простым и управляемым. Ончейн код обычно представляет собой лишь небольшую часть всего приложения, используемого для взаимодействия с Cardano. Сторонние команды могут использовать любую другую платформу для создания оффчейн части.
Приступить к созданию смарт контракта с помощью Aiken очень просто и требуется минимальная настройка. Если у вас есть готовая среда Rust, вам буквально нужно всего несколько команд. Опытному программисту требуется всего день или около того, чтобы ознакомиться с разделом документации “Языковой тур”, чтобы начать писать первый контракт. Как язык, Aiken чисто функционален со статической типизацией и выводом типов. Разработчики могут создавать свои собственные пользовательские типы.
Написать и запустить смарт контракт “Привет, мир!” на Cardano можно в течение 10 минут. Учебное пособие поможет вам в этом.
Как возможно писать контракты на чем-то другом, кроме Haskell?
Нода Cardano написана на Haskell так же, как и виртуальная машина. Что такое виртуальная машина? Чтобы понять это, вам сначала нужно знать, как создается исходный код и как он выполняется на компьютере. Это поможет вам понять, почему вы можете использовать Aiken и другие языки программирования для написания смарт контрактов для Cardano.
Разработчики пишут исходный код на удобочитаемых языках. Это может быть язык программирования Haskell, но также и Aiken. Вы можете представить это как написание текста, который может прочитать кто-то другой. Конечно, существует большое количество других языков программирования.
Для того чтобы программа (смарт контракт) была выполнена, она должна быть переведена в машиночитаемые инструкции. Этот процесс называется компиляцией. А инструмент называется компилятором.
Можно подумать, что компилятор - это своего рода переводчик обычного языка. Рассмотрим следующую ситуацию. Вам нужно отдавать команды работнику, который может говорить только на латыни. Между вами и работником есть языковой переводчик. Вы можете написать текст на любом языке (английском, китайском, испанском и т.д.), и переводчик переведет его на латиницу. Благодаря переводу работник может понимать команды и выполнять их. В нашем примере работником был компьютер, а вы были программистом. Переводчик помог вам перевести ваш родной язык на латиницу, язык, который понимает работник (компьютер).
В случае Cardano исходный код (ончейн часть приложения, смарт контракт) переводится во что-то, называемое нетипизированным Plutus Core (UPLC). Это низкоуровневое представление смарт контракта для Cardano. Это низкоуровневое представление на самом деле является тем, что выполняется (ончейн) виртуальной машиной Cardano.
Виртуальная машина - это программная среда, которая выполняет машиночитаемый код. В случае Cardano это UPLC. Она обеспечивает уровень абстракции между UPLC и базовой операционной системой и аппаратным обеспечением, позволяя выполнять локальную часть приложения на широком спектре платформ. Проще говоря, виртуальная машина является частью ноды Cardano, которая выполняет смарт контракты.
Итак, теперь вы понимаете, что Aiken - это не просто язык программирования. Важной частью Aiken также является компилятор, который способен компилировать исходный код Aiken в нетипизированный Plutus Core. Смарт контракт может быть написан на любом языке программирования при условии наличия компилятора, который переводит его на машиночитаемый язык (UPLC), который понимает виртуальная машина Cardano и, следовательно, может выполнять.
В дополнение к Aiken, существует 5 других подобных платформ, которые работают по аналогичной концепции. Это eopsin, Helios, Plutarch, plu-ts, и Scalus.
Давайте добавим, что если вы пишете смарт контракт традиционным способом, вы используете фреймворк Haskell, который использует компилятор Glasgow Haskell (GHC) для компиляции приложения в UPLC.
Будущее проекта
Цель проекта - привнести современную среду разработки в экосистему Cardano. Aiken - это небольшой язык программирования, который очень прост в освоении. Настройка занимает буквально несколько минут. Разработчики по достоинству оценят дружественную обратную связь с полезными диалоговыми окнами об ошибках. Библиотеки должны стать частью проекта, который облегчит работу других команд. Существует платформа модульного тестирования и инструменты для оценки стоимости выполнения и составления отчетов о трассировке. Проект с открытым исходным кодом и включает в себя 20 участников.
Согласно дорожной карте, альфа-релиз с первыми пионерами запланирован на 1 квартал 2023 года. Онлайн игровая площадка также находится в стадии разработки.
С нашей точки зрения, Aiken - многообещающий проект, который может привлечь разработчиков, которые хотят строить на Cardano, но по каким-то причинам не желают изучать Haskell. Aiken устраняет этот барьер и предоставляет способ написания ончейн части приложения легко и быстро, но при этом надежно. Разработчики получают современную среду разработки и все необходимые инструменты. Такого рода проекты значительно продвигают экосистему Cardano вперед.
// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все только начинается!