查看原文
其他

用 ink! 2.0 来编写智能合约

Robin Freyler PolkaWorld 2020-11-11

加入 www.polkaworld.org 社区,共建 Web 3.0!

ink!是由 Parity 开发的智能合约语言,这篇文章介绍了 ink!2.0 的新特性。


ink!揭开新的篇章,我们用于编写 Wasm 智能合约的基于 Rust 的 eDSL 已经到来。


ink!的首次发布,是在我们的第一个 Substrate 开发人员社区会议「Sub0」上。它问世不到一年,但从未停止过发展。


在此期间,我们有许多团队使用 ink!构建 Wasm 智能合约,反馈了他们的体验,甚至对这个项目本身做出贡献。


ink!与其他一些更成熟的智能合约语言(呵呵)不同,它没有什么 Parity 的烙印,但是由于它最终得到了 Rust 编译器的发展和 Rust 社区的增长的支持,因此它奔向这些目标的速度,比几乎任何其他语言都快。


此次发布并不是要添加到 ink!上的任何特定功能,而是要在语言开发背后的哲学上实现最终转变。



太长不读:ink!就应该是 Rust


ink!最初是通过利用 Rust 的宏系统生成自定义语法和样式,来进行智能合约开发的。当前的智能合约开发人员可能更熟悉这种方法,但是它偏离了 Rust 开发人员所知道和喜欢的语言。


ink!2.0 语法在不牺牲易用性或开发性的前提下,将其与纯 Rust 语言进行了重新整合。实际上,我们相信有了这些改变,普通的开发人员实际上将能够更快地学习和使用 ink!


我们有完整的发行说明,讨论 ink!的语法变化,但简要总结就是,现在 ink!所有的结构和语法都是纯 Rust 的了。


ink!使用普通的 Rust 代码,只需以#[ink(...)] 的形式添加一些属性标签,即可完成所有工作所需的魔术!


像 rustfmt 和 rust-analyzer 这样的 Rust 工具,已经可以使用 ink!开箱即用了。我们希望随着这个生态系统中的其他工具的成熟,能够自然地支持 ink!。


此外,用户不需要仅仅靠 ink!文档来发展他们对这门语言的理解。你只需要了解 ink!智能合约的基本结构,以及如何将这些属性应用于代码以使其正常工作。


ink!仍然是一种正在发展中的语言。但这不应该吓到任何阅读此文章的人。实际上,应该相反。正如我们目前展示出的,并将继续展示 ink!是一个以社区为中心的项目。我们需要一个由 Hacker、发明家、开发人员、创新者以及终极梦想家组成的社区。社区提供他们的意见,并帮助我们将这种语言塑造成满足我们共同未来需求的语言。


随着时间的流逝,ink!看起来和用起来会更像 Rust,而且将获得越来越多 Rust 程序员熟悉的功能,从而进一步增强他们编写、更新和推理更复杂的智能合约的能力。


ink!遵循零开销原则:


“What you don’t use, you don’t pay for. And further: What you do use, you couldn’t hand code any better.”

- Bjarne Stroustrup


如果你发现这种 ink!以不遵循此原则的方式进行更改,请告知我们,因为我们认为这是一个优先事项!


我们不是唯一相信智能合约的未来就是 Wasm 和 ink!的人,ink!是我们走向更美好未来的解决方案。与我们的下一代区块链开发框架「Substrate」一起,我们在 Parity Technologies 朝着更加开放、无边界和去中心化互联网的目标冲刺。


还在等什么呢?


  • 了解 ink!:https://github.com/paritytech/ink

  • ink!Readme(带有参考链接):

    https://paritytech.github.io/ink/

  • 按照我们的教程来构建和部署你的第一个 ink!智能合约:https://substrate.dev/substrate-contracts-workshop/#/

  • 了解有关在 Substrate 生态系统中进行开发的更多信息:https://substrate.dev/

  • 参加我们的下一个 Sub0 社区活动:

    https://sub0.parity.io/


原文:https://www.parity.io/write-wasm-smart-contracts-with-ink-2-0/

翻译:PolkaWorld 社区


  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

  • 申请 Bootcamp: 

    https://bootcamp.web3.foundation/

更多内容:


Substrate VS 智能合约 | part I: 概述

有了 Substrate EVM ,以太坊智能合约可以直接在 Substrate 链上运行了

如果比特币有了智能合约......




扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存