【技术实现步骤摘要】
智能合约校验方法及装置和电子设备
本说明书实施例涉及区块链
,尤其涉及一种智能合约校验方法及装置和电子设备。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术在众多的领域中广泛的进行应用。
技术实现思路
本说明书实施例提供的一种智能合约校验方法及装置和电子设备:根据本说明书实施例的第一方面,提供一种智能合约校验方法,所述方法包括:数据存储节点将客户端发起的目标交易广播给任意一个智能合约节点;所述智能合约节点响应所述目标交易,预执行所述目标交易对应的目标智能合约后,向所述数据存储节点返回预执行结果;所述数据存储节点将所述预执行结果发送给其它的智能合约节点;所述其它的智能合约节点根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述数据存储节点;所述数据存储节点在确定所述模拟预执行结果与所述预执行结果一致时,确定预执行结果校验通过。根据本说明书实施例的第二方面,提供一种智能合约校验方法,所述方法包括:智能合约节点接收数据存储节点发送的预执行结果;其中,所述预执行结果为其它智能合约节点响应客户端发起的目标交易,预执行所述目标交易对应目标智能合约后得到的结果;根据本说明书实施 ...
【技术保护点】
1.一种智能合约校验方法,所述方法包括:/n区块链中的第一数据存储节点将目标交易广播给所述区块链中的第一智能合约节点;/n所述第一智能合约节点响应所述目标交易,预执行所述目标交易对应的目标智能合约后,向所述第一数据存储节点返回预执行结果;/n所述第一数据存储节点将所述预执行结果发送给所述区块链中的第二智能合约节点;/n所述第二智能合约节点根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述第一数据存储节点;/n所述第一数据存储节点在确定所述模拟预执行结果与所述预执行结果一致时,确定所述预执行结果校验通过。/n
【技术特征摘要】 【专利技术属性】
1.一种智能合约校验方法,所述方法包括:
区块链中的第一数据存储节点将目标交易广播给所述区块链中的第一智能合约节点;
所述第一智能合约节点响应所述目标交易,预执行所述目标交易对应的目标智能合约后,向所述第一数据存储节点返回预执行结果;
所述第一数据存储节点将所述预执行结果发送给所述区块链中的第二智能合约节点;
所述第二智能合约节点根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述第一数据存储节点;
所述第一数据存储节点在确定所述模拟预执行结果与所述预执行结果一致时,确定所述预执行结果校验通过。
2.根据权利要求1所述方法,还包括:
所述第一数据存储节点将所述预执行结果发送给所述区块链中的第二数据存储节点进行共识。
3.根据权利要求1所述的方法,所述预执行结果为所述第一智能合约节点预执行目标智能合约过程中生成的读写集打包而成的结果集;所述模拟预执行结果为所述第二智能合约节点模拟执行目标智能合约过程中生成的读写集打包而成的结果集。
4.根据权利要求3所述的方法,所述第二智能合约节点根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述第一数据存储节点,包括:
所述第二智能合约节点根据所述预执行结果的读写集中数据模拟执行所述目标智能合约;
将模拟执行目标智能合约的模拟结果集返回给所述第一数据存储节点。
5.根据权利要求1所述的方法,所述第一数据存储节点与第一智能合约节点,所述第一数据存储节点与第二智能合约节点之间通过衔接SDK进行数据交互。
6.根据权利要求5所述的方法,所述预执行目标智能合约的过程中通过衔接SDK从所述第一数据存储节点读取所需的状态数据。
7.一种智能合约校验方法,所述方法包括:
区块链中的第一数据存储节点将目标交易广播给所述区块链中的第一智能合约节点;
接收所述第一智能合约节点预执行所述目标交易对应的目标智能合约后返回的预执行结果;
将所述预执行结果发送给所述区块链中的第二智能合约节点;
在所述第二智能合约节点返回的模拟预执行结果与所述预执行结果一致时,确定所述预执行结果校验通过。
8.根据权利要求7所述的方法,还包括:
将所述预执行结果发送给所述区块链中的第二数据存储节点进行共识。
9.根据权利要求7所述的方法,所述预执行结果为所述第一智能合约节点预执行目标智能合约过程中生成的读写集打包而成的结果集;所述模拟预执行结果为所述第二智能合约节点模拟执行目标智能合约过程中生成的读写集打包而成的结果集。
10.根据权利要求7所述的方法,所述第一数据存储节点与第一智能合约节点,所述第一数据存储节点与第二智能合约节点之间通过衔接SDK进行数据交互。
11.根据权利要求7所述的方法,所述预执行目标智能合约的过程中通过衔接SDK从所述第一数据存储节点读取所需的状态数据。
12.一种智能合约校验方法,所述方法包括:
区块链中的第一智能合约节点接收所述区块链中的第一数据存储节点广播的目标交易;
预执行所述目标交易对应的目标智能合约后,返回预执行结果;其中,所述预执行结果用于供所述区块链中的第二智能合约节点根据所述预执行结果模拟执行所述目标智能合约以得到模拟预执行结果,并在所述模拟预执行结果与所述预执行结果一致时,确定所述预执行结果校验通过。
13.根据权利要求12所述的方法,所述预执行结果为所述第一智能合约节点预执行目标智能合约过程中生成的读写集打包而成的结果集;所述模拟预执行结果为所述第二智能合约节点模拟执行目标智能合约过程中生成的读写集打包而成的结果集。
14.根据权利要求12所述的方法,所述第一智能合约节点与第一数据存储节点之间通过衔接SDK进行数据交互。
15.根据权利要求14所述的方法,所述预执行目标智能合约的过程中通过衔接SDK从所述第一数据存储节点读取所需的状态数据。
16.一种智能合约校验方法,所述方法包括:
区块链中的第二智能合约节点接收所述区块链中的第一数据存储节点发送的预执行结果;其中,所述预执行结果为所述区块链中的第一智能合约节点预执行目标交易对应目标智能合约后得到的结果;
根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述第一数据存储节点。
17.根据权利要求16所述的方法,所述预执行结果为所述第一智能合约节点预执行目标智能合约过程中生成的读写集打包而成的结果集;所述模拟预执行结果为所述第二智能合约节点模拟执行目标智能合约过程中生成的读写集打包而成的结果集。
18.根据权利要求16所述的方法,所述根据所述预执行结果模拟执行所述目标智能合约,将模拟执行目标智能合约后得到的模拟预执行结果返回给所述数据存储节点,具体包括:
根据预执行结果的读写集中数据模拟执行目标智能合约;
将模拟执行目标智能合约的模拟结果集返回给所述数据存储节点。
19.根据权利要求16所述的方法,所述第二智能合约节点与第一数据存储节点之间通过衔接SDK进行数据交互。
20.一种智能合约校验方法,所述方法包括:
区块链的SDK将交易发送给所述区块链中的第一节点设备;
所述第一节点设备预执行所述交易对应的智能合约,并返回预执行结果;
所述SDK将所述预执行结果发送给所述区块链中的第二节点设备;
所述第二节点设备根据所述预执行结果模拟执行所述智能合约,将模拟执行智能合约后得到的模拟预执行结果返回给所述SDK;
所述SDK在确定所述模拟预执行结果与所述预执行结果一致时,确定所述预执行结果校验通过。
21.根据权利要求20所述方法,还包括:
所述SDK将所述预执行结果发送给所述区块链中的所有节点进行共识。
技术研发人员:冯志远,
申请(专利权)人:创新先进技术有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。