TRA:波卡中的智能合约

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第65期,波卡本身不支持智能合约,但是波卡的平行链将支持智能合约,而Substrate智能合约本质上更安全,开发门槛也较低,那么如何在波卡中构建智能合约呢?

智能合约是区块链必不可少的功能,正是有了智能合约,区块链才实现了机器信任,目前其应用场景广泛,包括数字身份、供应链、贸易金融、抵押等多个领域。

Substrate智能合约允许用户在区块链核心逻辑的基础上增加业务逻辑,同时建立了防范破坏者的保护机制。与平行链相比,智能合约的开发速度更快、部署难度更低,因此像是Moonbeam、Astar、Phala这样的智能合约平台为想要快速上线的应用提供了更多的选择。

波卡中继链本身不支持智能合约,但是,波卡上的平行链将支持智能合约。

开发智能合约和平行链的区别

抽象层

当你编写智能合约时,你正在创建与特定链地址关联并部署在其上的指令。相比之下,runtime模块是一个链的状态转换的整个逻辑。

智能合约必须有意识地实现可升级性,而平行链将有能力完全通过根命令或通过治理Pallet交换其代码。

当你构建智能合约时,它最终会被部署到一个具有自己环境的目标链上。平行链允许开发人员声明自己链的环境,甚至允许其他人为其编写智能合约。

狗狗币超过波卡位列加密货币市值第十位:9月18日消息,CoinMarketCap数据显示,狗狗币DOGE已经超过波卡DOT在加密货币市值中排第十位,截至目前,狗狗币的流通市值为81亿美元,波卡的流通市值为79亿美元。[2022/9/18 7:04:27]

Gas费

智能合约必须找到限制自身执行的方法,否则完整节点很容易受到DOS攻击。

例如,智能合约中的无限循环可能会消耗整个链的计算资源,从而阻止其他人使用它。断续问题表明,对于足够强大的语言,不可能提前知道程序是否会停止执行。

一些平台,比如比特币,通过提供非常有限的脚本语言来绕过这个约束。其他项目,例如以太坊,向智能合约收取“gas”以提供执行其代码的权利。

如果智能合约确实进入了一个永远不会停止执行的状态,它最终会耗尽gas,停止执行,并且智能合约本应进行的任何状态转换都会回滚。

波卡使用的是重量收费模型,而不是gas计量模型。

平行链可以实现任意强大的编程语言,并且不为它们自己的本地逻辑包含gas概念。

这意味着某些功能对开发人员来说更容易实现,但某些结构,例如没有终止条件的循环,不应该实现。

将某些逻辑留给非智能合约层,或者甚至试图消除它,通常是更明智的选择。平行链试图主动,而智能合约平台是事件驱动的。

构建智能合约

波卡中继链本身将不支持智能合约。然而,由于连接到波卡的平行链可以支持任意状态转换,因此它们可以支持智能合约。

波卡聚合身份协议Litentry将在2022年推出Litentry App等产品:官方消息,波卡聚合身份协议Litentry展望2022年表示:

1. 推出Litentry移动应用程序的第一个版本,并使其成为首选治??理平台;

2. 将推出Drop3平台的第一个版本,并将其扩展为Web3项目的首选社区参与工具;

3. 对于My Crypto置文件,将对其进行迭代,为Web3提供最先进的身份即服务解决方案;

4. 进一步扩展Web3Go的分析能力,以发现和突出有价值的链上数据;

5. Project Loyalty NFT允许项目通过使用身份以前的历史活动以NFT的形式发放忠诚度奖励,预计将于2022年推出;

6. Litentry通过Substrate和Ethereum等各种网络的身份数据聚合API预计将于2022年推出;

7. 研究PolkaSignIn的单点登录可能性,希望启用此功能后,用户可以登录任何web2或web3服务;

8. 计划增加隐私、去中心化和改进测试策略;

9. 将完善产品设计以提供友好的用户体验。[2022/2/11 9:45:29]

Substrate目前以两种方式支持开箱即用的智能合约:

Frontier提供的EVMPallet。

基于Wasm合约的FRAME库中的ContractsPallet。

此外,还有EVMPallet,它允许平行链实现以太坊EVM,从而支持以太坊合约的直接端口。

韩国流行女团Mamamoo在波卡推出NFT收藏品:韩国流行女团Mamamoo的母公司RBW目前正在Polkadot区块链上销售NFT收藏品。RBW在韩国交易所Xeno发行非同质化代币(NFT),这些代币让粉丝可以购买偶像的“3D模型渲染”、虚拟音乐会的活动门票以及“允许偶像参与粉丝群”的会员代币。(Coindesk)[2021/1/16 16:19:16]

智能合约情况概述的视频版本可以在PolkadotYouTube频道上找到。https://www.youtube.com/watch?v=fKHkFBXaUxQ

资源

我应该在什么时候构建Substrateruntime与Substrate智能合约?这篇文章从技术上回答了开发人员何时可能选择开发runtime而不是智能合约。

以下是目前可供那些想要开始编写智能合约以部署在基于Substrate的平行链上的开发人员使用的资源列表。ink!——Parity编写智能合约的ink!。

ContractsPallet

以前编写过智能合约的开发人员可能更熟悉部署到基于EVM的链上的体验。但是,ContractsPallet对EVM的设计进行了一些显著的改进:

1.Wasm:ContractsPallet使用WebAssembly作为其编译目标。任何编译为Wasm的语言都可能用于编写智能合约。尽管如此,最好有一个专门的领域特定语言,因此Parity提供了ink!语言。

2.存款:合约必须持有足够大的存款以证明它们在链上的存在。部署人员需要在ExistentialDeposit的基础上将其存入新合约。

金色相对论 | Bifrost产品经理Tyrone:波卡在平行链上线之前还有一个挑战来源于以太坊开发进度:金色财经报道,12月11日消息,在今日举行的金色相对论中,针对“波卡生态众望所归,未来的期许很高,那各位认为在波卡以及各个平行链还会面临哪些挑战?”等问题,Bifrost(彩虹桥)产品经理Tyrone表示,波卡在平行链上线之前还有一个挑战来源于以太坊开发进度。 Vitalik于11月18日就表示以太坊2.0的原路线图将发生变化,总体将数据分片作为Rollup基础首要实现目标,基本锁定在ZK Rollup和Optimistic Rollup之间,虽然在技术实现上还有许多难题,但新路线图的公布说明了以太坊2.0要加快在扩容实现上的脚步。如若以太坊2.0早于波卡实现扩容方案,更多项目将涌入以太坊,同时现在受低吞吐量影响而蠢蠢欲动的项目将继续扎根以太坊,DeFi将在以太坊2.0迎来一波新的进化,波卡生态的开启或将面临不小的挑战。对平行链项目方来说,波卡才短短上线几个月的时间,就涌入了300多个项目。平行链卡槽的竞争预计会非常激烈,只有接入波卡平行链的项目才能享有其无分叉升级,异构跨链,共享安全的特性。[2020/12/11 14:56:00]

3.缓存:合约在默认情况下是缓存的,因此这意味着它们只需要部署一次,然后可以根据需要多次具现化。

这有助于将链上的存储负载降至最低。最重要的是,当合约不再被使用,存在的存款被耗尽时,代码将从存储中删除。

4.存储租金:已弃用Pallet_contracts最初是为了应对无限制的状态增长而设计的,它对合约所消耗的状态进行收费,但后来被弃用。

8月31日波卡将解锁约695.79万枚DOT:根据波卡区块链数据监控,波卡将在8月31日解锁约695.79万枚DOT,9月9日解锁1005.60万枚DOT,9月16日解锁约966.62万枚DOT,9月22日解锁约644.91万枚DOT。[2020/8/27]

有关更多详细信息,请参阅相关的pullrequest:https://github.com/paritytech/substrate/pull/9669

波卡标准提案

Web3基金会支持波卡的提案,这些提案定义了一套符合生态系统需求的标准。这些标准要经过几个接受阶段,在这些阶段需要整个社区的参与来建立有价值的和面向未来的标准。

从标准中受益的所有团队都需要就其内容达成一致。

其中一些PSP是针对Substrate的ContractsPallet:请访问波卡标准建议(PSP)Github了解更多信息:https://github.com/w3f/PSPs

Ink!

ink!是一种在Rust中编写智能合约的领域特定语言,可编译为Wasm代码。正如它在自述书中所言,它仍处于试验阶段,因此勇敢的开发人员应该意识到,他们可能会有一个坎坷但可行的开发经验。

有一些项目已经用ink!构建了项目,具有相当程度的复杂性,因此它已经足够成熟,可以开始构建有趣的内容。

对于感兴趣的开发人员,他们可以开始使用ink!编写智能合约,通过研究已经写过的例子。这些可以作为编写更复杂逻辑的指南,这些逻辑将可部署在智能合约平行链上。

ink!为基于Wasm虚拟机并与Substrate链兼容的新智能合约栈奠定了许多基础。

ink!的智能合约库下面收集了一些智能合约的示例。你正在开发智能合约示例吗?请让我们将其添加到此页面!

OpenBrush:一个ink!库,提供基于PSP的标准合约,以及用于构建的有用合约和macros。https://docs.openbrush.io/

Metis:由PatractLabs开发的Wasm合约标准库。https://github.com/patractlabs/metis智能合约环境仍在不断成熟

波卡上的智能合约还为时过早,其发展现在才趋于稳定。我们正在积极制作内容以帮助开发人员跟上进度,并将使用最新资源维护Wiki。你还应该通过以下链接了解最新信息:

ParityTech

ink!:

https://github.com/paritytech/inkSubstratecontractsPallet:https://github.com/paritytech/substrate/tree/master/frame/contracts

平行链

Moonbeam:

https://moonbeam.network/

Astar:

https://astar.network/

Acala:

https://acala.network/

Phala:

https://www.phala.network/zh/

许多智能合约平台正在构建,成为生态系统中的平行链。可以在PolkaProjects上找到社区创建和维护基于波卡的不同智能合约平台的社区列表。

https://www.polkaproject.com/#/projects?cateID=1&tagID=6

Moonbeam

Moonbeam是另一个计划作为平行链部署到波卡的项目,并将支持与以太坊兼容的智能合约。

由于Moonbeam使用Frontier,这是一个与现有以太坊工具的互操作层,它将支持所有针对EVM环境而编写的应用程序,几乎没有阻力。

Moonbeam的先行网络Moonriver以平行链的形式在Kusama上推出。平行链功能已上线,功能正在逐步发布。发布的最后阶段将包括EVM功能和余额转移。

尝试按照Moonbeam的文档来部署智能合约。https://docs.moonbeam.network/Astar

Astar是建立在Substrate上的智能合约平台,并打算作为平行链与波卡集成。

Shiden是Astar的先行网络,目前在Kusama上运行,并支持EVM、WASM和Layer2解决方案。

Astar旨在容纳所有第2层扩展解决方案,并通过OVM支持所有Layer2协议。

尝试部署以太坊或ink!按照他们的文档进行智能合约。https://docs.astar.network/docs/wasm/sc-dev/ink-dev/

Acala

Acala是一个去中心化金融联盟和DeFi基础设施链,提供一组协议作为波卡上的DeF中心。Karura,Acala的先行网络作为平行链在Kusama上运行。

感兴趣的团队现在可以在Karura的平台上部署DApp和智能合约。Acala也在实施AcalaEVM。

尝试按照AcalaEVM的文档部署Acala智能合约。https://wiki.acala.network/build/development-guide/smart-contracts

Phala

Phala是一个保护隐私的云计算平台,旨在作为跨链平台提供强有力的保密保证。

作为一个智能合约平台,Phala将支持在波卡上使用加密的智能合约。Khala是Phala的先行网络,作为平行链在Kusama上运行。

尝试按照的Phala文档部署加密的智能合约。https://wiki.phala.network/en-us/general/phala-network/intro/

保持联系

尽管工具仍处于成熟阶段,但早做的好处是熟悉项目并领先于项目,从而让你进行创新和创建真正新的东西。

如果你对波卡上的智能合约有什么有趣的想法,请随时进入PolkadotWatercooler进行讨论。https://matrix.to/#/#polkadot-watercooler:web3.foundation

开发人员可能有兴趣加入波卡初学者休息室https://matrix.to/#/#polkadotnoobs:matrix.org或SubstrateTechnicalhttps://area51.stackexchange.com/proposals/126136/substrate来询问他们的问题。与往常一样,通过关注社交渠道,与Polkadot和Kusama保持联系。

愿一切都好!

尽管工具仍处于成熟阶段,但早做的好处是熟悉项目并领先于项目,从而允许您进行创新和创建真正的新东西。

欢迎大家加入我们Polkadot生态研究院的电报:

https://t.me/polkadot_eri

欢迎大家访问波卡生态研究院的Mirror地址:

https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:31ms0-0:682ms