请解释
我已经检查过了,使用这个标志,我将无法为古老的块提出请求eth_getBlockByNumber。
但是,对于依赖于在古代区块中创建的契约状态的待定区块的交易呢?
例如,有一个在block_number=1中创建的契约0x123123123123123123,该契约有一个公共方法getMyValue(),它返回存储的值my_value。此状态my_value设置为block_number=1。
是否有可能为该合同的挂起块创建trace_call,并为openethereum节点获取此my_value,该节点与-无古标志同步?
发布于 2020-12-04 19:10:41
根据Solidity文档:https://docs.soliditylang.org/en/v0.5.3/units-and-global-variables.html#block-and-transaction-properties
事务只能在大多数状态下访问,即256个块。也就是说,第256块哈希。如果您试图基于过去的一个块来跟踪一个事务,以至于事务最终引用了一个古老的块,那么很可能(尽管我还没有在实验上证明),您的调用将失败,因为您的节点上不存在状态。
简而言之:除非客户端有更大的限制,否则在挂起的块上没有古老块的跟踪应该是很好的。
https://ethereum.stackexchange.com/questions/84353
复制相似问题