问题描述
这是我的整个程序。其背后的原因是,以太坊上的程序越大,加载它的成本就越高(因为气体成本是每字节的,而且很高)。
CALLER
CALLDATASIZE
ISZERO
PUSH1 0x07
JUMPI
PUSH3 0x5b6000
sstORE
所以我要跳到PUSH3 0x5b6000
,但是如果我们拆解0x5b6000
,那就意味着
JUMPDEST
PUSH1 0x00
因此,由于evm操作码编码为fully variable length(并且所有指令在PUSHxx旁边都是一个字节长),而我跳到JUMPDEST
,为什么this transaction会失败?>
在黄皮书中指出,去JUMPDEST
并不是唯一有效跳转目标的唯一条件?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)