Aiken 简化为 Cardano 编写智能合约

Aiken simplifies writing smart contracts for Cardano | Cardano Explorer (cexplorer.io)

有些人可能会错误地认为,如果你想为 Cardano 编写智能合约,你必须学习 Haskell。 您可以走那条路,或使用一种新兴的替代方案。 其中之一是 Aiken,这是一种用于在 Cardano 上开发智能合约的新编程语言和工具包。 Aiken 将是一个功能齐全的平台,允许您快速编写智能合约,包括详细的错误消息,并方便地使用所有必要的工具。

总结:

  • Aiken 只关注应用程序的链上部分。
  • Aiken 将允许您编写和运行“Hello, World!” 应用程序在 10 分钟内。
  • 应用程序的链上部分可以用任何语言编写,只要有一个编译器可以将代码翻译成 Plutus Core。
  • 编译器的工作方式类似于语言翻译器。
  • 计划于 2023 年第一季度与第一批开拓者一起发布 Alpha 版本。

Aiken项目的使命
该团队正在尝试构建一个平台,允许在无需了解 Haskell 的情况下编写智能合约。 Aiken 是一种全新的编程语言,其灵感来自于 Gream、Rust 和 Elm。 这些语言以友好的错误消息和出色的开发人员体验而闻名。 Aiken 有自己的语法和编译器。 我们将在下面详细讨论编译器的重要性。

Aiken只专注于应用的链上部分,并没有成为通用语言的野心。 对于应用程序的后端(链下)部分,必须使用其他东西。

Aiken 的主要目标是使链上开发更容易和更快,重点是安全性和验证代码是否完全符合预期。 因此,有必要使语言简单易用。 链上代码通常只是用于与 Cardano 交互的整个应用程序的一小部分。 第三方团队可以使用任何其他平台来构建链下部分。

开始使用 Aiken 构建智能合约非常简单,只需最少的配置。 如果您已经准备好 Rust 环境,您实际上只需要几个命令。 一个有经验的程序员只需要一天左右的时间来完成文档的语言之旅部分,就可以开始编写第一个合约。 作为一种语言,Aiken 是纯函数式的,具有静态类型和类型推断。 开发人员可以创建自己的自定义类型。

编写并运行“Hello, World!”是可能的。 10 分钟内在 Cardano 上创建智能合约。 本教程将帮助您解决这个问题。

怎么可能用 Haskell 以外的语言编写合约呢?
Cardano 节点和虚拟机一样是用 Haskell 编写的。 什么是虚拟机? 要理解这一点,你首先需要知道源代码是如何创建的,以及它是如何在计算机上执行的。 这将帮助您理解为什么可以使用 Aiken 和其他编程语言为 Cardano 编写智能合约。

开发人员以人类可读的语言编写源代码。 这可以是 Haskell 编程语言,也可以是 Aiken。 您可以将其视为编写其他人可以阅读的文本。 当然,还有大量其他编程语言。

为了执行程序(智能合约),必须将其翻译成机器可读的指令。 这个过程称为编译。 该工具称为编译器。

您可以将编译器视为常规语言翻译器。 考虑以下情况。 您需要向只会说拉丁语的工人发出命令。 您和工作人员之间有一名语言翻译。 您可以用任何语言(英语、中文、西班牙语等)编写文本,翻译器会将其翻译成拉丁语。 由于翻译,工作人员可以理解命令并执行它们。 在我们的示例中,工人是计算机,而您是程序员。 翻译器帮助您将您的母语翻译成拉丁语,这是一种工作人员(计算机)可以理解的语言。

就 Cardano 而言,源代码(应用程序的链上部分,智能合约)被翻译成一种叫做 Untyped Plutus Core (UPLC) 的东西。 它是 Cardano 智能合约的最低级别表示。 这种低级表示实际上是由 Cardano 虚拟机执行(链上)的。

虚拟机是执行机器可读代码的软件环境。 就 Cardano 而言,它是 UPLC。 它在 UPLC 与底层操作系统和硬件之间提供了一个抽象层,允许应用程序的链上部分在广泛的平台上执行。 简单地说,虚拟机是执行智能合约的卡尔达诺节点的一部分。

所以,现在您明白了 Aiken 不仅仅是一种编程语言。 Aiken 的一个重要部分也是一个编译器,它能够将 Aiken 源代码编译成 Untyped Plutus Core。 智能合约可以用任何编程语言编写,只要有编译器可以将其翻译成机器可读语言) Cardano 虚拟机理解并因此可以执行。

除了 Aiken 之外,还有 5 个其他类似的平台以类似的概念运作。 它们是 eopsin、Helios、Plutarch、plu-ts 和 Scalus。

让我们补充一点,如果您以传统方式编写智能合约,则使用 Haskell 框架,该框架使用 Glasgow Haskell 编译器 (GHC) 将应用程序编译成 UPLC。

项目的未来
该项目旨在为卡尔达诺生态系统带来现代开发环境。 Aiken 是一种非常容易学习的小型编程语言。 配置只需几分钟。 开发人员将感谢带有有用错误对话框的友好反馈。 图书馆将成为该项目的一部分,这将使其他团队的工作更加轻松。 有一个用于评估执行成本和跟踪报告的单元测试框架和工具。 该项目是开源的,涉及 20 名贡献者。

根据路线图,第一批先驱者的 Alpha 版本计划于 2023 年第一季度发布。在线游乐场也在筹备中。

从我们的角度来看,Aiken 是一个很有前途的项目,可以吸引那些想在 Cardano 上构建,但出于某种原因不愿意学习 Haskell 的开发人员。 Aiken 打破了这一障碍,并提供了一种方法来轻松、快速、可靠地编写应用程序的链上部分。 开发人员可以获得现代开发环境和所有工具。 这些类型的项目显着推动了 Cardano 生态的发展。