底层的智能合约与运行时的开发

355 阅读4分钟

本文简要介绍了为基于底层的区块链实现智能合约的不同方式。它还旨在提供对选择智能合约开发而不是运行时开发的原因的见解,以便你的链上逻辑和业务开发。

Substrate提供了两个智能合约虚拟机,可以添加到你的运行时中。每种虚拟机都有额外的工具,以根据你的用例来简化开发。

开发Substrate运行时和智能合约是使用Substrate构建 "去中心化应用程序 "的两种不同方法。

智能合约

传统的智能合约平台允许用户在一些核心区块链逻辑之上发布额外的逻辑。由于智能合约逻辑可以由任何人发布,包括恶意行为者和没有经验的开发者,所以围绕这些公共智能合约平台有一些有意的安全防护措施。

契约允许你的社区在你的运行时逻辑之上进行扩展和开发。这允许不需要通过所有疯狂的建议、运行时升级等......我们可以使用合约作为未来运行时变化的测试场地。但这样做是为了将你的网络与任何可能发生的成长的痛苦或错误隔离开来。

运行时开发

另一方面,运行 时开发没有提供智能合约给你的这些保护或安全防护。作为一个运行时的开发者,你所产生的代码的准入门槛大大增加。

Substrate runtime
Substrate runtime

你可以完全控制你网络上每个节点将运行的底层逻辑。并且完全可以访问你所有托盘上的每一个存储项目,你可以修改和控制这些项目。你甚至可以用不正确的逻辑或糟糕的错误处理来为你的链条添砖加瓦。运行时工程师对他们编写的代码的正确性和健壮性负有更大的责任。

底层运行时开发的目的是产生精简的、性能良好的、快速的节点。它不提供任何保护或交易恢复的开销。并且不隐含地对你的链上的节点运行的计算引入任何费用系统。这意味着当你在开发运行时功能时,_你_要正确评估和应用你的运行时逻辑的不同部分的费用,这样它就不会被恶意的行为者滥用。

选择正确的方法

基层运行时开发和智能合约各自提供了为不同问题空间设计的工具。每个人可以解决的问题种类可能有一定程度的重叠。但也有一组明确的问题只适合这两者中的一个。在每个类别中只举一个例子。

  • 运行时开发。在你的区块链的交易之上建立一个隐私层。
  • 智能合约:在你的区块链的货币上引入多签名的钱包。
  • 特定用例:建立一个游戏DApp,可能需要建立一个用户社区(倾向于智能合约),或者可能需要扩展到每天数百万的交易(更倾向于运行时开发)。

还有一些见解。

除了上面所写的一切,你还需要考虑到使用一种方法建立dApp的相关成本。部署合约是一个相对简单和容易的过程,因为你利用了现有的网络。你的唯一成本是你为部署和维护你的合约所支付的费用。

另一方面,建立你自己的区块链,有建立一个发现你所提供的服务价值的社区的成本。或者,与建立私人网络相关的额外费用,以及基于云计算架构的开销和一般网络维护。

很难对每一种可能的情况提供指导,因为每一种情况都取决于具体的用例和设计决策。一般来说,运行时开发最有利于那些需要更高的灵活性和适应性的应用。例如,需要容纳不同类型的用户或治理层的应用。

这就是关于智能合约和运行时的所有内容。请保持联系,以探索这种令人兴奋的话题!!

如果你想阅读更多这样的内容?请订阅《锈蚀时代》通讯,每两周一次,直接在您的收件箱中收到洞察力和最新的更新。订阅Rust Times Newsletter:https://bit.ly/2Vdlld7

Knoldus-blog-footer-imageKnoldus-blog-footer-image