[发明专利]一种面向以太坊Solidity智能合约的安全翻译与解析方法有效
申请号: | 201910904195.5 | 申请日: | 2019-09-24 |
公开(公告)号: | CN110688151B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 翁健;陈新凯;李明;袁浩宸;张斌;卢贺贤 | 申请(专利权)人: | 暨南大学 |
主分类号: | G06F8/75 | 分类号: | G06F8/75 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 蒋剑明 |
地址: | 510632 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向以太坊Solidity智能合约的安全翻译与解析方法,包括以下步骤:首先将智能合约源代码转化为XML文本,然后对Solidity智能合约进行代码Java转换,并基于新生成的Java代码进行流程分析和控制流程图生成。同时,基于PageRank算法对Solidity智能合约核心代码行进行识别,并在图中将核心代码进行高亮显示。此外,利用自然语言处理进行代码分割和词性分析,将代码分割出来的英语单词,按动词和名词组织成一个利于理解的序列,并通过对Solidity智能合约的关键逻辑(转账、变量状态更新)进行识别,形成可理解的英语短语。最后,生成完整的智能合约翻译文档。 | ||
搜索关键词: | 一种 面向 以太 solidity 智能 合约 安全 翻译 解析 方法 | ||
【主权项】:
1.一种面向以太坊Solidity智能合约的安全翻译与解析方法,其特征在于,所述的安全翻译与解析方法包括以下步骤:/nS1、对要进行安全翻译与解析的Solidity智能合约进行转换,将Solidity智能合约代码转化为XML文本;/nS2、在所述的XML文本中将Solidity智能合约的片段令牌化,将令牌分割为已知的英语单词,并对各个单词标注上词性和单词原型;/nS3、在所述的XML文本中将Solidity智能合约转化语法功能一致的Java代码,并保留原合约的特有语法特征,再根据转换的Java代码生成Solidity智能合约的控制流程图;/nS4、在所述的Solidity智能合约的每个函数体的控制流程图中,依据PageRank算法在控制流程图中对各个节点赋予相同权重,然后进行计算修改权重,进而根据权重的大小分析出函数执行的核心操作或重要语句;/nS5、通过步骤S3获取的控制流程图以及步骤S4获取的核心操作或重要语句,在控制流程图中高亮显示核心操作或重要语句所在的节点,完成对Solidity智能合约的解析;/nS6、将步骤S2中分割出来的英语单词,按动词和名词组织成一个利于理解的序列,并通过将形容词、介词等添加到序列的适当位置,形成可读的英语短语;/nS7、将步骤S6中所有Solidity智能合约生成的英语短语,通过去除相同主语和添加连词合并和生成完整的Solidity智能合约翻译文档。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910904195.5/,转载请声明来源钻瓜专利网。