本申请提供了一种智能合约实现方法、应用服务节点、存储介质及系统,该方法应用于应用服务节点,包括:接收新建合约请求;基于所述新建合约请求,获取规则引擎返回的目标规则标识信息;根据所述目标规则标识信息构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。这样,由于将规则引擎引入区块链,使应用服务节点可以利用规则引擎来构建智能合约,无需使用者利用编程语言编写合约代码,降低了智能合约的开发成本和复杂度;另外,由于无需利用编程语言构建智能合约,还可以避免代码编写过程中的错误,提高了智能合约的正确性和安全性。和安全性。和安全性。
【技术实现步骤摘要】
一种智能合约实现方法、应用服务节点、存储介质及系统
[0001]本申请涉及区块链
,尤其涉及一种智能合约实现方法、应用服务节点、存储介质及系统。
技术介绍
[0002]智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。
[0003]然而,在相关技术中,智能合约需要利用编程语言编写合约代码,这时候编写难度高,不宜为业务人员使用;同时编程语言编写的合约代码调试过程复杂,不宜验证正确性,容易引入安全问题;另外,虽然目前引入了基于容器的智能合约实现方法,但是需要依赖于容器化部署和特定的运行环境,导致运维成本较高。
技术实现思路
[0004]本申请提供了一种智能合约实现方法、应用服务节点、存储介质及系统,能够基于规则引擎来构建智能合约,无需使用者利用编程语言编写合约代码,不仅可以降低智能合约的开发成本,而且还可以降低智能合约的实现复杂度。
[0005]本申请的技术方案是这样实现的:
[0006]第一方面,本申请实施例提供了一种智能合约实现方法,应用于应用服务节点,该方法包括:
[0007]接收新建合约请求;
[0008]基于所述新建合约请求,获取规则引擎返回的目标规则标识信息;
[0009]根据所述目标规则标识信息构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。
[0010]第二方面,本申请实施例提供了一种应用服务节点,该应用服务节点包括接收单元、规则单元和合约单元;其中,
[0011]接收单元,配置为接收新建合约请求;
[0012]规则单元,配置为基于所述新建合约请求,获取规则引擎返回的目标规则标识信息;
[0013]合约单元,配置为根据所述目标规则标识信息构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。
[0014]第三方面,本申请实施例提供了一种应用服务节点,该应用服务节点包括存储器和处理器;其中,
[0015]所述存储器,用于存储能够在所述处理器上运行的计算机程序;
[0016]所述处理器,用于在运行所述计算机程序时,执行如第一方面所述方法的步骤。
[0017]第四方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有
智能合约实现程序,该智能合约实现程序被至少一个处理器执行时实现如第一方面所述方法的步骤。
[0018]第五方面,本申请提供一种智能合约系统,该智能合约系统至少包括规则引擎、区块链节点和如第二方面或第三方面所述的应用服务节点。
[0019]本申请实施例提供了一种智能合约实现方法、应用服务节点、存储介质及系统,该方法应用于应用服务节点,通过接收新建合约请求;基于所述新建合约请求,获取规则引擎返回的目标规则标识信息;根据所述目标规则标识信息构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。这样,由于将规则引擎引入区块链,使得应用服务节点可以利用规则引擎来构建智能合约,无需使用者利用编程语言编写合约代码,降低了智能合约的开发成本和复杂程度;另外,由于无需利用编程语言构建智能合约,还可以避免代码编写过程中的错误,提高了智能合约的正确性和安全性。
附图说明
[0020]图1为本申请实施例提供的一种智能合约实现方法的流程示意图;
[0021]图2为本申请实施例提供的一种智能合约系统的技术架构示意图;
[0022]图3为本申请实施例提供的另一种智能合约实现方法的流程示意图;
[0023]图4为本申请实施例提供的又一种智能合约实现方法的流程示意图;
[0024]图5为本申请实施例提供的再一种智能合约实现方法的流程示意图;
[0025]图6为本申请实施例提供的一种应用服务节点的组成结构示意图;
[0026]图7为本申请实施例提供的另一种应用服务节点的组成结构示意图;
[0027]图8为本申请实施例提供的一种应用服务节点的具体硬件结构示意图;
[0028]图9为本申请实施例提供的一种智能合约系统的组成结构示意图。
具体实施方式
[0029]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0030]智能合约(Smart Contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。
[0031]智能合约的概念在1995年由尼克
·
萨博提出,其核心理念是将传统的纸质合同条款转变为可以自动执行的代码,由计算机来承担合同约束的有效执行。自从比特币问世以来,各种类型的区块链智能合约系统逐渐产生,以下介绍两种主要类型:
[0032](1)基于编程语言虚拟机以太坊是目前影响最大的智能合约平台。以太坊智能合约使用一种图灵完备的编程语言(如Solidity语言)编写,代码编译后运行在语言虚拟机(Environment Virtual Machine,EVM)中,由虚拟机保证合约代码执行的安全性、确定性。
[0033](2)基于国际商业机器公司(International Business Machines Corporation,IBM)开发的开源区块链分布式账本(Hyperledger Fabric)是另一种流行的区块链平台。Hyperledger Fabric中的智能合约可以使用Go语言、Java语言等主流编程语言编写,编译后的合约代码部署到容器(例如Docker)中执行。这种方式将智能合约与区块链进行了更大
程度的隔离,对主流编程语言的支持更容易实现。
[0034]然而,已有的智能合约技术仍然具有以下缺点:
[0035](1)相关技术中,智能合约系统一般使用通用编程语言编写合约代码,通用编程语言使用相对复杂,需要专业开发人员编写合约代码,不宜为业务人员使用;
[0036](2)智能合约要求代码执行是确定性的(deterministic),而通用编程语言一般属于图灵完备语言,代码调试过程复杂,不宜验证正确性,容易引入安全问题;
[0037](3)基于容器的方法依赖容器化部署和运行环境,增加了容器平台的运维成本。
[0038]基于此,本申请实施例提供了一种智能合约实现方法,该方法的基本思想是:接收新建合约请求;基于所述新建合约请求,控制规则引擎生成目标合约规则;根据所述目标合约规则构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。这样,由于将规则引擎引入区块链,使得应用服务节点可以利用规则引擎来构建智能合约,无需使用者利用编程语言编写合约代码,降低了智能合约的开发成本和复杂本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种智能合约实现方法,其特征在于,应用于应用服务节点,所述方法包括:接收新建合约请求;基于所述新建合约请求,获取规则引擎返回的目标规则标识信息;根据所述目标规则标识信息构建目标智能合约,并将所述目标智能合约发送到区块链节点进行存储。2.根据权利要求1所述的智能合约实现方法,其特征在于,所述基于所述新建合约请求,获取规则引擎返回的目标规则标识信息,包括:根据所述新建合约请求,获取待构建合约信息;其中,所述待构建合约信息包括账号信息和待构建规则信息;对所述账号信息进行权限验证;在所述账号信息的权限验证成功的情况下,将所述待构建规则信息发送给规则引擎,获取所述规则引擎返回的所述目标规则标识信息。3.根据权利要求2所述的智能合约实现方法,所述待构建合约信息还包括目标合约名称,所述根据所述目标规则标识信息构建目标智能合约,包括:基于所述目标合约名称和所述待构建规则信息,确定合约数据以及目标合约标识信息;创建合约构建交易事务,将所述合约数据、所述目标合约标识信息和所述目标规则标识信息写入所述合约构建交易事务,形成所述目标智能合约。4.根据权利要求3所述的智能合约实现方法,其特征在于,所述基于所述目标合约名称和所述待构建规则信息,确定合约数据,包括:利用预设算法对所述目标合约名称和所述待构建规则信息进行哈希计算,生成所述合约数据。5.根据权利要求1所述的智能合约实现方法,其特征在于,所述方法还包括:接收执行合约请求;基于所述执行合约请求,通过所述区块链节点确定待执行智能合约;基于所述待执行智能合约,获取所述规则引擎返回的合约执行结果。6.根据权利要求5所述的智能合约实现方法,其特征在于,所述基于所述执行合约请求,通过所述区块链节点确定待执行智能合约,包括:根据所述执行合约请求,获取待执行合约信息;其中,所述待执行合约信息包括待执行合约标识信息;基于所述待执行合约标识信息,通过所述区块链节点确定所述待执行智能合约。7.根据权利要求6所述的智能合约实现方法,其特征在于,所述待执行合约信息还包括账号信息和执行规则参数;所述基于所述待执行智能合约,接收所述规则引擎返回的合约执行结果,包括:基于所述待执行智能合约,对所述账号信息进行合约执行权限验证;在所述合约执行权限验证成功的情况下,根据所述待执行智能合约,获取待执行规则标识信息;将所述待执行规则标识信息和所述执行规则参数发送给所述规则引擎,获取所述规则引擎返回的所述合约执行结果。
8.根据权利要求5所述的智能合约实现方法,其特征在于,在所述获取所述规则引擎返回的合约执行结果之后,所述方法还包括:将所述合约执行结果发送到所述区块链节点进行存储。9.根据权利要求1...
【专利技术属性】
技术研发人员:杨军,韩磊,徐山豹,何钟强,
申请(专利权)人:北京京东拓先科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。