BCH智能合约方案CashScript现已上线

2023-12-28 04:48

本文主要是介绍BCH智能合约方案CashScript现已上线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自BCH在去年5月份升级之后,实现智能合约功能一直都是BCH发展的其中一个方向。BCH社区的开发者为了实现这一功能在不断努力。经历一年多的时间,BCH在智能合约、公链方面也取得了一定的成绩。

BCH经过升级,在OP-return容量扩大的基础上,BCH社区相继推出虫洞、SLP等代币方案实现了BCH区块链发行Token的功能。目前已经有多种代币通过BCH网络被创建出来,其中包括合规的稳定币USDH等。

去年11月的那次升级,BCH又新增了一个极其重要的操作码op_checkdatasig,它允许脚本验证来自区块链外部的任意消息,从而打开了许多令人兴奋的可能用例,其中也包括智能合约用例,例如区块链上的国际象棋。利用op_checkdatasig操作码,BCH可以实现有状态的智能合约。Local Bitcoin.com交易平台的去中心化实现有很大一部分正是op_checkdatasig的功劳。

虽然BCH的智能合约功能早就已经实现,但是BCH链上的智能合约用例却是寥寥无几,这是为什么呢?

其中,最主要的原因是缺少编程工具。众所周知,ETH的智能合约之所以应用广泛,最重要的原因是简单。ETH有很多可参考的智能合约案例,用户可以直接套用。相比之下,BCH社区中的智能合约并没有统一的语言和编程工具,仅有的几个案例也都是技术非常强的开发者编写,普通开发者即使想要创建智能合约也一筹莫展,不知道如何入手。

不过,这一问题即将得到解决。Cashscript是一种高级编程语言,可以在BCH主链上实现智能合约,允许用户以熟悉的方式编写智能合约。据它的开发者 Rosco Kalis表示,Cashscript的灵感来自以太坊的Solidity,但并不相同。CashScript语言允许用户以非常直接,可读和可维护的方式编写现金合约。与以太坊相比,比特币现金的智能合约虽然在功能上是有限的,但是它允许用户在货币支出上设置较为复杂的条件。

CashScript的出现将BCH智能合约的编写过程变得简单规范,而且也提高了开发者的效率。开发者通过使用CashScript可以快速高效的编写智能合约案例。

昨天,开发者Gabriel Cardona在其推特上宣布,CashScript文档已经发布。这对于开发者来说,无疑是一个非常好的消息。

CashScript文档主要分为4部分:入门,Cashc CLI,CashScript SDK参考,CashScript语言。在CashScript文档中有很多智能合约的案例,而且还有一些CashScript语言的使用方法。开发者可以依照此文档创建基于BCH网络的智能合约。

根据CashScript文档,CashScript中的合约是一组函数的集合,这些函数可用于支付锁定在该合约中的资金。用户可以使用合约的参数将这些合约实例化,并且可以通过指定正确的函数参数来调用这些的函数。CashScript语言唯一的控制结构是if和else,由于它们与底层比特币脚本不兼容而导致循环和返回语句被遗漏。If-else语句遵循C或JavaScript中已知的常用语义。CashScript是一种静态类型语言,这意味着需要指定每个变量的类型。类型可以在包含运算符的表达式中相互交互。

CashScript将编译器作为独立的命令行工具,称为cashc。它可以通过npm安装,用于将.cash文件编译成.json工件文件。这些文件可以导入CashScript JavaScript SDK(或将来的其他SDK)。CashScript SDK还具有直接导入和编译.cash文件的功能,因此不需要使用cashc命令行工具。

目前,与智能合约交互并将其集成到应用程序中的主要方式是使用CashScript SDK。此SDK允许用户编译.cash文件或导入.json工件文件,并将它们转换为Contract对象。这些对象可用于创建新的合约实例。而这些实例可使用.cash文件中实现函数与合约进行交互。

CashScript文档的推出对于普通的开发者而言,不仅提高了开发效率,而且降低了开发难度,开发者可以根据文档中的内容和参考案例进行智能合约的搭建。与此同时,BCH智能合约的参与门槛也会有所降低,从而吸引更多的开发者加入到BCH智能合约的创建中来,这将为BCH网络出现杀手级应用奠定基础。CashScript亦将书写BCH智能合约新篇章。

如果你对BCH的智能合约感兴趣,可以根据CashScript文档使用CashScript语言尝试创建自己的智能合约哦。

这篇关于BCH智能合约方案CashScript现已上线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545094

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

智能交通(二)——Spinger特刊推荐

特刊征稿 01  期刊名称: Autonomous Intelligent Systems  特刊名称: Understanding the Policy Shift  with the Digital Twins in Smart  Transportation and Mobility 截止时间: 开放提交:2024年1月20日 提交截止日

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个