fabs avatar

转|人性“沙箱”机制 智能合约开发尽在掌握

fabs

Published: 29 Jun 2017 › Updated: 29 Jun 2017转|人性“沙箱”机制 智能合约开发尽在掌握

转|人性“沙箱”机制 智能合约开发尽在掌握

相信玩过《我的世界》这款游戏的玩家对“沙箱”二字肯定并不陌生。所谓“沙箱”,(亦称“沙盒”,英文名sandbox),顾名思义,可以看做是一种容器,里面所做的一切都可以推倒重来。

而今天我们要谈的不是沙箱游戏,而是另一个高自由度的“沙箱”——信和云智能合约平台独有的“沙箱”机制。信和云对“沙箱”机制下的定义是:

“独有的“沙箱”机制,给开发者提供一个功能完整的智能合约模拟器,内含真实区块链和合约虚拟机,允许开发者进行全功能的离线模拟和测试,不仅可以减少错误合约上链的概率,还能降低调试合约的成本。”

有种不明觉厉的感觉?没关系,今天我们会用更易懂的文字对“沙箱”机制进行更详细地介绍。

信和云智能合约平台的4个特性

智能合约的一生——“沙箱”的起源

智能合约的生命周期

想了解“沙箱”的起源,就不得不谈到智能合约的一生。通过上面这幅图,我们可以看到一个合约完整的一生会经历4个重要的阶段:编写、编译、注册、升级/销毁。其中注册与升级/销毁两个阶段均是在区块链上完成,操作的结果不可逆,同时系统会收取一定的手续费。(注册后的临时合约和升级后的永久合约都可以被调用,但是只有升级后的永久合约可以被另外的合约调用,实现复杂操作)

那么问题来了,由于每一次合约的注册或者升级都有一定的成本并且结果不可逆,在这样的前提下,整个应用程序开发过程中的哪一步,将变得困难重重?

没错,就是测试环节!试想一下,每一次合约的测试,都需要支付一定的手续费进行注册后才能进行,测试后存在问题的合约想要销毁也需要手续费,简直是坑爹啊!

不用担心,包括信和云在内的绝大部分平台,都会提供相应的测试环境,即支持用户在本地建立一条测试的专用链,自带多个存有资金的测试账户,可以实现正式链的功能进行测试,也节约了与正式链进行网络同步的时间。

不过仍然有两个问题,是测试环境无法解决的:

1.调用并测试他人的永久合约(只能在正式链上进行)

2.自动继承正式链上的信息

  于是,“沙箱”机制应运而生。

随时随地的任意门——“沙箱”的实现

“沙箱”的实现逻辑

“沙箱”的实现不难理解,如图所示,在当前区块为2的时候,用户选择开启沙箱功能,这会在本地产生一个缓冲区。在这个缓冲区中继承了区块2之前所有的账本信息(包含账户、余额、交易、合约等等),在这个缓冲区下发生的所有的与合约相关的交易,都会在本地进行验证,并记录在本地这个缓冲区中;当沙箱功能关闭后,这个缓冲区中所有的记录信息也会被清除而非记录到链上。也就是说在开启“沙箱”后的一切操作,均不会对链上的结果又任何影响。

省钱省心省时间——“沙箱”的优势

  1. 经济:沙箱模式下无需花费任何真实费用。

  2. 高效:需要进行测试的时候无需进行链的切换,也就无需重新执行“编写→编译→注册→升级”这一流程。只需一键,即刻开启测试。

  3. 实用:正式环境下直接运行,支持调用他人链上合约。

  4. 真实: 继承之前所有区块中的信息的,提供最贴近真实的环境。

有关“沙箱”的介绍就告一段落了,后续会为大家带来更多信和云智能合约平台的特性介绍及合约分享,敬请关注!

信和云智能合约平台将在3月中旬正式开放公测,目前内测正在火热进行中。该平台由北京信和云科技有限公司历时两年开发,旨在为广大开发者提供不直接涉及底层区块链的应用开发环境和工具,降低区块链产品开发门槛。感兴趣的朋友可以通过以下方式联系我们,经过认证后可获得限量的内测参与资格,率先体验全套平台功能!

企业邮箱:service@thinkyoung.com

开发者群组(qq):597508547

公众号:

Leave 转|人性“沙箱”机制 智能合约开发尽在掌握 to:

Written by

Read more #thinkyoung posts


Best Posts From fabs

We have not curated any of fabs's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From fabs