Cashscript – 引领BCH进入主链智能合约编程时代

文| Bruce Lee(转载请注明出处)

微信公众号: BCH爱好者BruceLee

微博: BCH爱好者BruceLee

其实我在5月初就知道Cashscript的存在了,不过那时候开发者说这个项目还在很早期。不过现在我觉得是时候让大众了解这个项目的重要意义了。

【Cashscript简介】

项目Github链接

github.com/Bitcoin-com…

Cashscript是一种高级编程语言,可以在BCH主链上实现智能合约。

3b03c0ba6ba64e34f19ce1838018a1d8.png

【Cashscript和虫洞的区别】

很多BCH粉都知道虫洞WHC这个项目。WHC虽然现在暂停后续开发了,但这是一种典型的在BCH实现智能合约的思路:

把智能合约的数据保存在op_return字段里面,让WHC节点去解析运行合约。

优点: 可以实现复杂的有状态的智能合约功能

缺点: 依赖时间戳。合约动作必须在若干个确认之后才会生效,无法实现零确认。鉴于BCH目前10分钟的出块速度,这类智能合约运行起来会非常耗时。

而Cashscript是可以直接生成主链智能合约的,合约是直接存放在BCH现有的脚本里面的,例如P2SH脚本。

优点: 矿工可以直接验证执行这类合约,因此支持0确认,无需等待,速度非常快。

缺点:受限于BCH脚本的天然限制,无法实现有状态的智能合约。(但是只要编程够容易,无状态的智能合约也可以做非常多的事情)

【Cashscript的重要意义】

为什么BCH的智能合约案例如此之少?最大的原因就是BCH一直缺乏好用的编程工具。

接触过编程的都知道,理论上,你可以直接打开一个记事本,然后直接往里面一个字符一个字符的凭空敲出代码。但实际上,几乎没有程序员会这么干(除非临时编写一些非常简易的脚本,只有几行代码的那种),因为这么做非常耗时耗力,并且极其容易出错。所以开发者都是使用专门的编程工具,这类工具有参考文档,每个命令或者参数都有示例说明,而且还可以进行模拟运行调试,自动提示哪里有错误等等。

如果之前在BCH主链开发一个简单的智能合约需要几个月,那么有了Cashscript,或许只需要一个星期甚至几天就可以。

现阶段,我经常看到有些BCH应用开发者陷入某种苦恼,他们想编写智能合约,但是几乎找不到现成的参考案例,所以除非是顶级大牛,普通开发者对于如何在BCH上编写智能合约一筹莫展。

而Cashscript会让BCH的智能合约开发进入一个良性循环,因为开发难度越低,参与的门槛就越低,参与的人数就越多,出现的合约案例就越多。后来者学习前辈的合约案例就有了更多参考,入门就会变得更容易。而五花八门的合约出现,也会给其他开发者灵感,最终量变引发质变,出现某个杀手级的智能合约用例。

【Cashscript的前辈Spedn】

其实在Cashscript之前,BCH网络已经出现了一种叫Spedn的高级语言,也是用于在BCH主链编写智能合约的。但是Spedn现在开发停滞了,而且这个语言很难融入到web开发工作流程。

Cashscript的开发者说,他们从以太坊的Solidity语言和Web3.js / Truffle库中获得了很多灵感。Cashscript通过提供SDK的方式让开发者非常容易的把智能合约嵌入到各类web应用里面。

结束语

Cashscript开发者表示,他们在在未来几周会增加清晰的文档,之后人们就可以开始使用Cashscript。但他们也强调,还需要更多时间进行大量的测试,才能确保Cashscript可以安全的使用。

可以说,有了Cashscript,BCH的智能合约编程速度就从步行变成了坐飞机,进入一个全新的时代。

你可能感兴趣的:(Cashscript – 引领BCH进入主链智能合约编程时代)