版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
专利申请号:CN201711144715.4
公 开 号:CN107844294A
代 理 人:黄欢娣;邱启旺
代理机构:33200 杭州求是专利事务所有限公司
专利类型:发明申请
申 请 日:20180327
公 开 日:20171117
专利主分类号:G06F8/20(20180101)
关 键 词:智能 随机访问 抽象语法树 编码序列 虚拟机 可用 溢出 二进制 指令 数据结构转换 语法语义解析 存储空间 合约信息 解释执行 局部变量 编译器 结构体 编译 交换
摘 要:本发明公开了一种高可用的合约执行方法,该方法包括:(1)根据合约信息编写智能合约代码,所述智能合约代码包含超过最大栈深个数的局部变量、参数或结构体;(2)对智能合约代码进行语法语义解析,生成相应的抽象语法树;(3)将抽象语法树数据结构转换为二进制的字节汇编码序列和相关指令;(4)合约虚拟机解释执行上述字节汇编码序列。针对栈易溢出、无法随机访问栈元素的问题,原有智能合约设计中一般采用小栈深且不同存储空间可交换的规避方案,本发明则从合约编译器、虚拟机实现随机访问指令的方案来实现防止栈溢出、可实现栈元素随机访问。可在该系统上运行更加复杂可用的智能合约,合约编写、编译、执行代价更低。