【技术实现步骤摘要】
一种智能合约编译匹配方法、装置、设备和存储介质
[0001]本专利技术涉及智能合约编译
,尤其涉及一种智能合约编译匹配方法、装置、设备和存储介质。
技术介绍
[0002]区块链是一种去中心化的记账技术,其凭借去中心化、隐私保护、难篡改等的特性,在多种应用场景下具发挥着巨大的作用。随着技术的发展,以太坊、Hyperledger Fabric等具有代表性的区块链平台相继问世,它们也代表着区块链
的蓬勃发展。
[0003]而在以太坊这一类区块链上,通过部署智能合约字节码实现智能合约功能,由于以太坊交易记录具有不可篡改性,因此部署到以太坊上的智能合约也不可被篡改,其应用功能一旦部署到合约上就永久有效。
[0004]而目前以太坊智能合约编译的方案通常是通过人工筛查某合约对应的编译器,得到编译内容后,需要对其内容进行处理。但当前以太坊上的智能合约公开可用信息少,大部分合约仅有源码和二进制文件,且智能合约数量多,编译器版本多,同一智能合约不同编译器会产生不同的结果,逐个进行人工筛选编译的成本较高。
专利 ...
【技术保护点】
【技术特征摘要】
1.一种智能合约编译匹配方法,其特征在于,包括:按照预设获取周期从以太坊系统获取智能合约数据和编译器数据;对所述智能合约数据进行合约数据预处理,得到预处理合约数据;对所述编译器数据进行编译器数据预处理,得到多个预处理编译器数据;按照所述预处理合约数据匹配所述多个预处理编译器数据,基于匹配结果确定目标编译器;通过所述目标编译器结合所述预处理合约数据进行合约编译,得到编译结果。2.根据权利要求1所述的方法,其特征在于,所述对所述智能合约数据进行合约数据预处理,得到预处理合约数据的步骤,包括:按照预设的合约键值检索所述智能合约数据,确定对应的合约地址、合约源码、合约字节码、编译优化标志和合约编译器名称;采用SHA256算法计算所述合约字节码对应的字节码哈希值;按照预设的位数划分所述编译器名称,得到对应的合约编译器哈希号和合约编译器版本号;采用所述合约地址、所述合约源码、所述合约字节码、所述字节码哈希值、所述编译优化标志、所述合约编译器版本号和所述合约编译器哈希号,构建预处理合约数据。3.根据权利要求2所述的方法,其特征在于,所述对所述编译器数据进行编译器数据预处理,得到多个预处理编译器数据的步骤,包括:按照预设的编译器键值检索所述编译器数据,确定对应的多个编译器全称;按照预设位数截取每个所述编译器全称,得到对应的多个编译器哈希号和多个编译器版本号;存储每个所述编译器全称关联的编译器,并记录对应的编译器存放地址;采用所述编译器全称、所述编译器版本号、所述编译器哈希号和所述编译器存放地址,构建多个预处理编译器数据。4.根据权利要求3所述的方法,其特征在于,所述按照所述预处理合约数据匹配所述多个预处理编译器数据,基于匹配结果确定目标编译器的步骤,包括:按照所述合约编译器哈希号匹配多个所述编译器哈希号,判断是否存在与所述合约编译器哈希号相同的目标编译器哈希号;若是,则从所述目标编译器哈希号对应的编译器存放地址获取目标编译器。5.根据权利要求4所述的方法,其特征在于,还包括:若否,则按照所述合约编译器版本号匹配多个所述编译器版本号,判断是否存...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。