[发明专利]一种面向区块链全局智能合约业务数据解析方法有效
申请号: | 201710271226.9 | 申请日: | 2017-04-24 |
公开(公告)号: | CN107038242B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 李伟;邱炜伟;梁秀波;李启雷;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/242;G06F16/27;G06F21/62 |
代理公司: | 33200 杭州求是专利事务所有限公司 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 区块 全局 智能 合约 业务 数据 解析 方法 | ||
本发明公开了一种面向区块链全局智能合约的业务数据解析方法。包括如下步骤:1)准备合约代码,获取源代码对应的智能合约abi。2)获得合约地址,查询指定区块范围内的与地址相关区块的信息及其包含的交易。3)对交易中包含的payload进行解析,确定生成该交易所调用的智能合约函数名。4)从1)中的abi里找到3)中解析出的函数名对应的函数参数和返回值规则。5)将3)中payload去除函数名后的部分,按照4)中的函数参数和返回值规则进行解析,获得函数的参数以及返回值列表。6)重复步骤3),4),5)直至处理完区块中的所有交易。本发明实现了面向区块链全局智能合约的业务数据解析方法,解决了持久化到区块链上的合约数据无法被解读的问题。
技术领域
本发明涉及区块链技术、智能合约、abi数据解码,尤其涉及一种区块链上持久化后的交易数据按照智能合约逻辑解析的方法。
背景技术
区块链技术,区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的验证过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。
智能合约,区块链上的智能合约是指由solidity编写和编译并运行在区块链上的一串二进制代码,智能合约函数的调用将在区块链上生成一次调用记录,并以交易的形式永久存储于区块链,我们可以通过智能合约实现在区块链上的数据存储、读写以及一些逻辑操作,因此一些基于区块链的应用是利用智能合约完成的。
发明内容
本发明的目的是针对现有区块链技术的不足,提供一种面向区块链全局智能合约业务数据解析方法。
由于区块链本身的隐私保护特性,一般存储于区块链上的数据无法被自然语言解读,区块链会将智能合约的变量状态持久化到区块链账本中,想要获得已部署智能合约在区块链上的调用记录,必须在区块链之上的业务层实现调用历史的存储,且这些存储信息是不受区块链不可篡改性保护的。
本发明的目的是通过以下技术方案来实现:一种面向区块链全局智能合约的业务数据解析方法,其特征在于,包括如下步骤:
1)准备合约源代码,经过编译处理后,获取源代码对应的智能合约abi;
2)获得智能合约地址,指定区块号范围,通过区块链接口,获得智能合约地址所对应的合约在调用过程中生成的区块和交易,过滤掉不相关的区块和交易;
3)取得交易,对交易中包含的payload进行解析,获得函数名,确定生成该交易所调用的函数;
4)从步骤1)中的abi里找到步骤3)中解析出的函数名对应的函数描述,其中包括对参数和返回值数据类型的描述;
5)将步骤3)中payload去除函数名后的部分,按照步骤4)中的函数参数和返回值描述进行解析,获得该函数的调用参数列表以及返回值列表;
6)重复步骤3)-步骤5)直至处理完区块中的所有交易,最终得到指定区块范围内所有交易中解析出来的合约调用记录。
进一步的,所述的步骤1)中,合约源代码是预先编写完成,不包含语法错误,可经编译器成功编译的,且区块链上应已成功部署过一份该合约。
进一步的,所述的步骤1)中abi是对智能合约函数的描述,包括智能合约中所定义函数的函数名、函数参数数量和每个参数的数据类型、函数返回值数量和每个返回值的数据类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710271226.9/2.html,转载请声明来源钻瓜专利网。