布比应用开发友好的智能合约 | 商用区块链BubiChain详解(五)

2020-09-07 19:16 栏目:经验之谈 来源:网络整理 查看()

区块链技术正逐步从利基极客走向大规模商业化。

总体而言,区块链技术的大规模商业化仍处于相对早期的阶段。企业对区块链技术的性能和易用性的高要求、区块链技术本身的可扩展性瓶颈和运营效率低下构成了目前制约行业发展的主要矛盾。

基于大量的商业实践和区块链商业化的探索与创新,布必信打造了一个拥有完全自主知识产权、高性能和可扩展性、产品成熟的商业级区块链底层平台。

商业区块链的基础平台BubiChain在基础技术方面取得了重大突破:应用开发友好的智能契约、安全高效的一致性算法、可靠的隐私保护、并行快速的多链以及可扩展的跨链技术;实现了产品化的一个重要突破:应用程序可快速构建、可视化操作和维护、技术合规性和资本账户系统等。形成完整的产品服务能力。

本文为商业区块链布比钱详解系列的第五个——应用开发了一个友好的智能合同。

Bubby区块链构建了一个基于Chrome V8虚拟机的智能合同引擎,提供了集成的开发环境和多场景多类型的智能合同模板。

考虑到智能契约的安全性,智能契约模块使用JavaScript子集作为编程语言,开发人员可以快速、安全地开发智能契约应用程序。为了让更多的开发人员使用智能合同,布比区块链还使用网络组装技术来构建引擎,并支持C/C /python语言来编写智能合同。

布比应用开发友好的智能合约 | 商用区块链BubiChain详解(五)

Bubby区块链智能合同引擎是Google V8和WebAssembly的创新改进,更好地满足了区块链系统的环保需求。谷歌V8是谷歌开发的开源JavaScript引擎,可以直接将JavaScript代码翻译成二进制机器码,并在物理机上高效执行。WEBAssembly是一种可移植的、加载效率高的、平台无关的字节码格式,它可以在平台上以接近本机速度的速度执行程序。这是一个由谷歌、苹果、微软和Mozilla等几家大公司支持和制定的全新网络标准。这两项技术为Bubby区块链智能合同提供了良好的基础功能支持。执行过程如下:

布比应用开发友好的智能合约 | 商用区块链BubiChain详解(五)

如图所示,智能合同的实施过程如下:

用户a发起签名交易,目标账户为b,b为智能合同账户,其中存储有智能合同代码。假设事务在此时被广播和打包,节点需要将事务存储在区块链并回放和计算事务。

客户端(用C代码实现)调用V8引擎,并将契约代码加载到引擎中执行。在执行过程中,如果遇到内置接口,将生成一个回调函数,调用客户端的实现。此时,实现了双向交互功能。

合同执行后,有可能生成新的交易。例如,如果合同乙触发账户丙,如果账户丙只是一个普通账户,那么只需要普通转账操作;如果账户C是一个合同账户,它将触发一个新的合同,再次形成一个递归调用。契约调用契约的递归深度为3层。如果超过3层,就会出错并回滚整个交易,这是考虑到合同执行的复杂性和区块链底层的安全性而设计的。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发