本发明专利技术涉及金融科技(Fintech)技术领域,并公开了一种区块链运行信息分析方法,该方法包括:获取区块链交易时所有调用合约对应的参数信息,将各参数信息发送至预设的堆栈生成器进行压栈处理,以获取各参数信息对应的堆栈数据;根据各调用合约和区块链中的合约编译器生成多个状态比较器;遍历各所述堆栈数据,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件;若不满足,则确定所述区块链交易的运行信息存在异常。本发明专利技术还公开了一种区块链运行信息分析装置、设备和一种计算机存储介质。本发明专利技术提高了对区块链交易时运行信息的测试准确率。对区块链交易时运行信息的测试准确率。对区块链交易时运行信息的测试准确率。
【技术实现步骤摘要】
区块链运行信息分析方法、装置、设备及计算机存储介质
[0001]本专利技术涉及金融科技(Fintech)
,尤其涉及区块链运行信息分析方法、装置、设备及计算机存储介质。
技术介绍
[0002]随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对区块链交易技术提出了更高的要求。由于一个区块链交易可能会涉及到多个合约的调用,即会从某个合约的某个接口进入,然后通过合约调用合约的方式形成一个调用的堆栈,而且区块链交易会在完成最后一层调用时,再按照顺序一层一层出栈,形成一个输出参数返回到应用端。因此在进行区块链交易测试时需要对区块链中智能合约运行时的信息进行测试,但是在现有技术中只能对函数的输入输出进行判断,而不能对区块链中内部的执行情况进行测试判断,导致测试准确率较低。
技术实现思路
[0003]本专利技术的主要目的在于提出一种区块链运行信息分析方法、装置、设备及计算机存储介质,旨在解决如何提高对区块链交易时运行信息的测试准确率的技术问题。
[0004]为实现上述目的,本专利技术提供一种区块链运行信息分析方法,所述区块链运行信息分析方法包括如下步骤:
[0005]获取区块链交易时所有调用合约对应的参数信息,将各所述参数信息发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据;
[0006]根据各所述调用合约和所述区块链中的合约编译器生成多个状态比较器;
[0007]遍历各所述堆栈数据,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件;
[0008]若不满足,则确定所述区块链交易的运行信息存在异常。
[0009]可选地,将各所述参数信息发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据的步骤,包括:
[0010]依次遍历各所述参数信息,确定遍历的参数信息对应的虚拟机,根据所述虚拟机中的消息发送器将所述遍历的参数信息发送至预设的堆栈生成器进行压栈处理,以获取所述遍历的参数信息对应的堆栈数据。
[0011]可选地,参数信息包括输入参数和合约地址,或所述参数信息包括输出参数。
[0012]可选地,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器的步骤,包括:
[0013]若遍历的堆栈数据对应的参数信息是输入参数信息,则根据所述输入参数信息确定各所述状态比较器中的所有输入状态比较器;
[0014]获取各所述输入状态比较器对应的输入函数指纹,根据输入的选择指令在各所述
输入函数指纹中确定目标输入函数指纹,将所述目标输入函数指纹对应的输入状态比较器作为目标状态比较器。
[0015]可选地,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件的步骤,包括:
[0016]若所述遍历的堆栈数据对应的参数信息包括输入参数,则根据所述目标状态比较器对所述遍历的堆栈数据进行解码,以获取输入测试数据;
[0017]根据检测所述输入测试数据是否满足所述目标状态比较器中的检测条件的检测结果确定遍历的堆栈数据是否满足所述目标状态比较器中的检测条件。
[0018]可选地,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件的步骤,包括:
[0019]若所述遍历的堆栈数据对应的参数信息包括输出参数,则获取所述输出参数对应的目标输入参数,并获取所述目标输入参数对应的目标堆栈数据,根据所述目标状态比较器对所述遍历的堆栈数据和所述目标堆栈数据进行解码,以获取输出测试数据;
[0020]根据检测所述输出测试数据是否满足所述目标状态比较器中的检测条件的检测结果确定遍历的堆栈数据是否满足所述目标状态比较器中的检测条件。
[0021]可选地,根据各所述调用合约和所述区块链中的合约编译器生成多个状态比较器的步骤,包括:
[0022]根据所述区块链中的合约编译器对各所述调用合约进行编译,以获取合约文件;
[0023]获取输入的所有检测条件,确定各所述检测条件对应的函数,根据各所述函数和所述合约文件生成状态比较器,其中,所述状态比较器至少包括输入状态比较器和输出状态比较器。
[0024]此外,为实现上述目的,本专利技术还提供一种区块链运行信息分析装置,所述区块链运行信息分析装置包括:
[0025]获取模块,用于获取区块链交易时所有调用合约对应的参数信息,将各所述参数信息发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据;
[0026]生成模块,用于根据各所述调用合约和所述区块链中的合约编译器生成多个状态比较器;
[0027]检测模块,用于遍历各所述堆栈数据,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件;
[0028]确定模块,用于若不满足,则确定所述区块链交易的运行信息存在异常。
[0029]此外,为实现上述目的,本专利技术还提供一种区块链运行信息分析设备,所述区块链运行信息分析设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链运行信息分析程序,所述区块链运行信息分析程序被所述处理器执行时实现如上所述的区块链运行信息分析方法的步骤。
[0030]此外,为实现上述目的,本专利技术还提供一种计算机存储介质,所述计算机存储介质上存储有区块链运行信息分析程序,所述区块链运行信息分析程序被处理器执行时实现如上所述的区块链运行信息分析方法的步骤。
[0031]本专利技术通过获取区块链交易时所有调用合约对应的参数信息,将各所述参数信息
发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据;根据各所述调用合约和所述区块链中的合约编译器生成多个状态比较器;遍历各所述堆栈数据,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件;若不满足,则确定所述区块链交易的运行信息存在异常。通过将区块链交易时所有调用合约对应的参数信息发送至堆栈生成器进行压栈处理,以获取堆栈数据,再根据各个调用合约和合约编译器生成各个状态比较器,遍历各个堆栈数据,通过遍历的堆栈数据确定目标状态比较器,并在遍历的堆栈数据不满足目标状态比较器中的检测条件时,确定区块链交易的运行信息存在异常,从而避免了现有技术中在区块链交易时只能对函数的输入输出进行判断,而不能对区块链中内部的执行情况进行测试判断的现象发生,提高了对区块链交易时运行信息的测试准确率。
附图说明
[0032]图1是本专利技术实施例方案涉及的硬件运行环境的区块链运行信息分析设备结构示意图;
[0033]图2为本专利技术区块链运行信息分析方法第一实施例的流程示意图;
[0本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种区块链运行信息分析方法,其特征在于,所述区块链运行信息分析方法包括如下步骤:获取区块链交易时所有调用合约对应的参数信息,将各所述参数信息发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据;根据各所述调用合约和所述区块链中的合约编译器生成多个状态比较器;遍历各所述堆栈数据,基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器,检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件;若不满足,则确定所述区块链交易的运行信息存在异常。2.如权利要求1所述的区块链运行信息分析方法,其特征在于,所述将各所述参数信息发送至预设的堆栈生成器进行压栈处理,以获取各所述参数信息对应的堆栈数据的步骤,包括:依次遍历各所述参数信息,确定遍历的参数信息对应的虚拟机,根据所述虚拟机中的消息发送器将所述遍历的参数信息发送至预设的堆栈生成器进行压栈处理,以获取所述遍历的参数信息对应的堆栈数据。3.如权利要求2所述的区块链运行信息分析方法,其特征在于,所述参数信息包括输入参数和合约地址,或所述参数信息包括输出参数。4.如权利要求1所述的区块链运行信息分析方法,其特征在于,所述基于各所述状态比较器确定遍历的堆栈数据对应的目标状态比较器的步骤,包括:若遍历的堆栈数据对应的参数信息是输入参数信息,则根据所述输入参数信息确定各所述状态比较器中的所有输入状态比较器;获取各所述输入状态比较器对应的输入函数指纹,根据输入的选择指令在各所述输入函数指纹中确定目标输入函数指纹,将所述目标输入函数指纹对应的输入状态比较器作为目标状态比较器。5.如权利要求1所述的区块链运行信息分析方法,其特征在于,所述检测所述遍历的堆栈数据是否满足所述目标状态比较器中的检测条件的步骤,包括:若所述遍历的堆栈数据对应的参数信息包括输入参数,则根据所述目标状态比较器对所述遍历的堆栈数据进行解码,以获取输入测试数据;根据检测所述输入测试数据是否满足所述目标状态比较器中的检测条件的检测结果确定遍历的堆栈数据是否满足所述目标状态比较器中的检测条件。6.如权利要求1所述的区块链运行信息分析方法,其特征在于,所述检...
【专利技术属性】
技术研发人员:刘明臻,王章,周禄,张开翔,范瑞斌,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。