据智能合约编写语言 ink! 官方在 5 月初披露的最新消息,
新语言 ink! 在短期内获得了以下四大成就
:
-
技术更新! ink! 4.2.0 发布;
-
Astar 和 Aleph Zero 推出了对 ink! 的支持;
-
目前已有 360 个 ink! 合约已经部署在 Aleph Zero 之上;
-
智能合约安全审计领域领导者 OpenZeppelin 对 ink! 审计 没有发现任何关键问题 ;
智能合约( Smart Contract )是一种以信息化方式传播、验证或执行合同的计算机协议,该技术允许在没有第三方的情况下进行可信交易,具有合约内容去信任化、不可篡改和经济高效等优势。在区块链领域中,智能合约凭借优越的技术特性, 成为执行去中心化应用程序(DApp)和实现无信任交易的强大工具。
不难看出, ink! 技术快速发展,并在行业中获得了大量关注 。抢占技术发展的先机,下文将从 ink! 与 Substrate、Polkadot 平行链之间的关系角度出发,帮助开发者们更好地了解 ink!,或许能从新语言中获得创新的灵感。
认识 ink!与 Substrate 之间的关系
-
什么是 ink!
ink!是 Rust 编程语言的扩展,并添加了必要的功能以使其与智能合约兼容 。因此,其享有 Rust 语言的优越性,并为 Rust 开发人员提供了熟悉的语法。使用 ink!,开发人员可以为使用 Substrate 构建的区块链编写智能合约,其中包括合约 pallet,即合约 pallet 利用 ink!合约以安全地签订并执行,确保区块链的完整性和安全性。
-
什么是 Substrate?
Substrate 是一个 灵活的区块链开发框架 ,可以独立开发或作为平行链连接到 Polkadot 或 Kusama。Substrate 带有各种称为 pallet 的模块,提供质押,Token,治理等功能。在这些模块中,有合约 pallet,它将提供智能合约相关功能。
因此,在 Substrate 开发框架中合约 pallet 模块中使用 ink! 编程语言,就能实现在 “Substrate 构建的区块链中编写智能合约” 。
认识 ink!与平行链之间的关系
在此之前,首先需要了解 Polkadot 生态中平行链与智能合约之间的关系。平行链在固定的时间段内租用插槽,执行其业务逻辑。因此, 平行链被认为是第 1 层区块链,并受益于波卡中继链安全性、跨链通信等性能 。
智能合约是部署在现有平行链上的不受信任的代码。开发人员可以灵活性地部署应用程序,而无需构建自己的区块链。而在平行链上部署合约 pallet 有以下几个用例:
-
首先,智能合约可以构成平行链的核心价值(central value)。
其中合约 pallet 可以通过灵活的创新得以 功能增强 。这允许开发人员在合约 pallet 之上构建独特的功能,例如被动收入机制、机密执行、零知识应用程序或多链执行。
-
其次,智能合约可以作为现有平行链的附加组件。
即使链的主要重点不是智能合约,也可以通过扩展平行链业务逻辑的某些部分,智能合约开发人员利用现有的基础设施和原语来构建新的应用程序,这种方法有助于 提高用户参与度 。
-
最后,智能合约可以作为进入 Polkadot 或 Kusama 的第一步。
在获得专用平行链插槽之前,很多有想法的项目可以从智能合约开发开始。智能合约的开发和部署过程比加入平行链 更快、更直接 。一旦您的项目获得关注,并需要额外的功能或治理机制,就可以将其迁移到具有自己插槽的专用平行链运行。
而 ink! 合约由 Rust 编写的,能够实现从智能合约到专用平行链的平稳过渡。 开发人员在从智能合约迁移到专用平行链时,可以重用其代码、测试、前端和客户端代码的很大一部分。
抢占技术先机,利用先进的 ink! 开发
ink! 作为 Substrate 上智能合约的编程语言,为开发人员提供了 一个熟悉且功能强大的环境,用于安全地编写和执行智能合约 。为了进一步促进 ink! 智能合约开发,Parity 创建了 cargo-contract ,这是一种简化合约开发、编译和部署周期的工具。该工具使开发人员更容易利用 ink! 的优势,在基于 Substrate 的区块链上创建智能合约。
据 Polkadot 官方宣称, 其希望能够有更多开发者利用 ink! 编程语言,引领区块链行业更好地发展 。而 ink! 语言的采用,能够帮助开发者在智能合约与平行链之间获得过渡的机会,从而为 Polkadot 和 Kusama 生态系统内创新应用的开发实验与部署提供了更多机会。