Polkadot是基于Substrate区块链开发框架开发的异构多链系统,Substrate为开发区块链提供了必要的基础功能模块,开发者可以使用Substrate为特定业务搭建平行链。Polkadot作为中继链,虽然本身不支持智能合约,但Substrate为智能合约功能加到平行链上提供了解决方案,其合约模块支持Wasm智能合约。智能合约语言ink!Polkadot生态中的智能合约平台以Wasm虚拟机为主,从EVM到WebAssembly是智能合约虚拟机发展的趋势,ETH2.0也将会支持Wasm虚拟机。ink!是一种嵌入式领域专用语言,是为基于Substrate区块链开发框架开发的区块链,提供编写Wasm智能合约的解决方案。ink!建立在Rust语言之上,遵循Rust语言的规则和语法,它设计的目标是友好、简洁和高效。ink!语言由三个抽象层组成,其中Core层包含了实现智能合约的核心功能,Lang层基于Core和Model层之上,大部分开发者只需用到Lang层就可以编写智能合约代码了。智能合约vsRuntime模块使用Substrate构建去中心化应用程序有两种不同的方法:SubstrateRuntime模块和Substrate智能合约。Runtime模块基于Runtime模块开发的目的是产生高效快速的节点,它提供了对整条区块链的底层访问接口,可以完全控制区块链的底层逻辑,可以访问所有模块中的任何存储项,并对其进行修改和控制。但是,Runtime模块对开发人员有很高的门槛,低水平的开发者可能会用不正确的逻辑或糟糕的错误处理构建一条区块链。同时,它不提供交易还原保护,也没有向节点运行的计算引入收费系统。在进行Runtime模块开发时,必须正确评估Runtime逻辑的各个部分并对其计算费用,避免被破坏者滥用而损害整个区块链网络。智能合约Substrate智能合约允许用户在区块链核心逻辑的基础上增加业务逻辑,同时建立了防范破坏者的保护机制。智能合约对于区块链本质上说更安全,因为智能合约不能直接修改区块链或其他智能合约的存储状态,它的能力仅限于修改自身的状态以及对其他智能合约或Runtime函数进行外部调用。执行智能合约过程中的计算和存储状态都将被强制收取费用,这确保了区块链资源不会被滥用和无限存储。因各种因素导致智能合约执行失败时,智能合约不会更新状态,同时会交易回滚。当然,这些管理开销会降低智能合约执行的效率,并增加运行的成本。Coinversation的选择SubstrateRuntime模块和Substrate智能合约都是解决问题的工具,至于选择哪种工具来解决问题,取决于问题本身的需求,以及开发、部署和维护所要付出的成本。
CoinversationProtocol是一个合成资产发行协议与合约交易平台,整个系统主要的功能模块有:用抵押铸造合成资产、去中心化合约交易所、抵押池、费用池、预言机、流动性挖矿。其中,Coinpro.MintC和Coinpro.Exchange是系统的核心产品。考虑到核心产品需要有严格的资源控制机制,以及交易回滚的保护机制,因此决定采用Substrate智能合约的方式来开发。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。