本申请涉及区块链,尤其涉及一种交易上链方法、装置、电子设备及存储介质。
背景技术:
1、智能合约是一段代码和数据的集合,智能合约部署是指将智能合约部署到以太坊区块链上运行的过程。智能合约在以太坊区块链上运行需要将智能合约代码转换为以太坊虚拟机可识别的字节码,而将智能合约成功部署到区块链上后,就会生成对应的合约地址。而基于部署好的智能合约的合约交易可以通过获取合约地址,输入所需参数然后调用合约的方法来完成整个交易过程。
2、目前,在java工程中进行合约部署时,首先需要使用工具将智能合约编程语言solidity的sol文件编译成java代码,然后再将java代码引入到java工程项目中。接着在进行合约交易的时候,需要调用合约交易对应的的java方法来进行交易。具体的,首先调用交易接口来发送交易,在发送交易以后,获得本次交易对应的交易哈希值,然后轮询调用交易结果查询接口,利用哈希值来获取交易结果。
3、在上述java工程进行合约部署的过程中,需要先将sol文件编译转换为java代码,然后需要把转换后的java代码引入java工程,交易时也需要调用对应的java方法。这样,每部署一个智能合约都需要先将智能合约的sol文件编译转换成java代码,然后再将java代码引入java工程中。这样无法实现通用化的合约部署,合约部署以及交易上链的效率异常低下。并且现有的区块链系统中,交易均是通过调用对应的接口单笔发送上链的,并且交易结果的查询也是单笔查询的,因此交易上链和结果查询的效率也很低。因此如何提高智能合约部署、交易上链以及交易结果查询的效率成为亟需解决的问题。
技术实现思路
1、有鉴于此,本申请实施例第一方面提供了一种交易上链方法,该交易批量上链方法应用于上链交易平台。其中,上链交易平台通过交易上传接口与具有钱包系统的上层应用相连,且上链交易平台通过批量上链接口/批量查询接口与区块链相连。该交易批量上链方法包括:
2、通过交易上传接口接收上层应用输入的交易信息。
3、对上层应用输入的交易信息进行处理,生成待上链交易。
4、将待上链交易暂存至本地交易池中。
5、根据第一预设时间段轮询本地交易池,获取本地交易池中的多笔待上链交易。
6、通过批量上链接口将多笔待上链交易同时上传至区块链中。
7、通过批量查询接口同时查询多笔已上链交易的交易结果,多笔待上链交易与多笔已上链交易对应。
8、本申请实施例第二方面提供了一种交易上链的处理装置,该处理装置包括上链交易平台。上链交易平台通过交易上传接口与具有钱包系统的上层应用相连,且上链交易平台通过批量上链接口/批量查询接口与区块链相连。该处理装置包括:
9、接收单元,用于通过交易上传接口接收上层应用输入的交易信息。
10、处理单元,用于对上层应用输入的交易信息进行处理,生成待上链交易。
11、存储单元,用于将待上链交易暂存至本地交易池中。
12、获取单元,用于根据第一预设时间段轮询本地交易池,获取本地交易池中的多笔待上链交易。
13、处理单元,还用于通过批量上链接口将多笔待上链交易同时上传至区块链中。
14、查询单元,用于通过批量查询接口同时查询多笔已上链交易的交易结果,多笔待上链交易与多笔已上链交易对应。
15、本申请实施例第三方面提供了一种电子设备,包括:存储器和处理器,存储器和所述处理器耦合。
16、存储器用于存储一条或多条计算机指令。
17、处理器用于执行一条或多条计算机指令,以实现上述第一方面的交易上链方法。
18、本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现上述任意一种技术方案所述的一种交易上链方法。
19、与现有技术相比,本申请实施例具有以下优点:
20、在本申请实施例中,上链交易平台提供了交易上传接口、批量上链接口和批量查询接口。其中,交易上传接口和上层应用相连,用于接收交易信息。该交易信息可以是合约部署信息,也可以是普通交易信息。在合约部署阶段,交易上传接口中的合约部署接口可以直接接收上层应用输入的原始合约代码编译后对应的合约二进制文件和应用二进制进口文件abi,然后基于两者实现合约部署。这样,不需要将原始合约代码转换为java代码,再调用对应的java方法来部署合约。因此消除了原始合约代码编译转化为java代码的流程,使得任意合约都可以直接调用交易上传接口进行合约部署,实现了合约的通用化部署。而在普通交易上链阶段,上链交易平台可以根据上层应用输入的交易信息生成待上链交易,并将待上链交易暂存在本地交易池中,然后根据预设时间轮询本地交易池,最后通过批量上链接口将多笔待上链交易同时上传至区块链中,同时还可以通过批量查询接口同时查询多笔待上链交易的交易结果。这样,就可以通过批量上链接口和批量查询接口同时对多笔待上链交易进行上链和交易结果查询,在实现合约的交易通用化以及合约的查询通用化的同时,提高了交易上链效率和交易结果查询效率。
1.一种交易上链方法,其特征在于,所述交易批量上链方法应用于上链交易平台,所述上链交易平台通过交易上传接口与具有钱包系统的上层应用相连,且所述上链交易平台通过批量上链接口/批量查询接口与区块链相连;所述交易批量上链方法包括:
2.根据权利要求1所述的交易上链方法,其特征在于,所述上链交易平台与所述上层应用相连的交易查询接口;所述通过所述批量查询接口同时查询多笔已上链交易的交易结果,包括:
3.根据权利要求1至2任一项所述的交易上链方法,其特征在于,所述交易上传接口包括合约部署接口;所述交易信息为合约部署交易信息,所述合约部署交易信息包括原始合约代码文件和第一应用交易请求编号;所述待上链交易包括待上链合约部署交易;
4.根据权利要求3所述的交易批量方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的交易上链方法,其特征在于,所述上链交易平台还包括数据库模块,所述方法还包括:
6.根据权利要求5所述的交易上链方法,其特征在于,所述交易查询接口,具体用于接收所述上层应用发送的第一交易结果查询请求;所述第一交易结果查询请求包括所述第一交易业务单号/所述第一应用交易请求编号;
7.根据权利要求5所述的交易上链方法,其特征在于,所述交易上传接口包括交易输入接口;所述交易信息为合约交易信息,所述合约交易信息包括第二应用交易请求编号、abi文件调用信息和abi文件输入参数;所述待上链交易包括待上链合约交易;
8.根据权利要求7所述的交易上链方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的交易上链方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的交易上链方法,其特征在于,所述交易查询接口,具体用于接收所述上层应用发送的第二交易结果查询请求;所述第二交易结果查询请求包括所述第二交易业务单号/所述第二应用交易请求编号;
11.根据权利要求2所述的交易上链方法,其特征在于,所述方法还包括:
12.一种交易上链的处理装置,其特征在于,所述处理装置包括上链交易平台,所述上链交易平台通过交易上传接口与具有钱包系统的上层应用相连,且所述上链交易平台通过批量上链接口/批量查询接口与区块链相连;所述处理装置包括:
13.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器;所述存储器和所述处理器耦合;
14.一种计算机可读取存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1至11任一项所述的交易上链方法。