我无法获得以太网LES getProofsV2(或getProofs)请求来生成ProofsV2(或Proofs)响应,除了一个空的节点数组外 . 这适用于针对打开LES连接的GETH节点的请求 .
请求参数是 [B_32 (blockHash), B_32 (key), B_32 (key2), P (fromLevel)]
. 我从最近开采的区块中提供 blockHash
; key
作为20字节帐户的Keccak256哈希值(几个月前的事务), key2
为32字节0, fromLevel
为0.我期望返回一个 Nodes
数组,最后一个节点有 AccountState
的RLP编码(与 {nonce,balance,...}
. 期望是否正确?或者如果 key
在指定的 blockHash
中有交易,我只会期望得到一个节点数组?[事实是,我试过了两个 - blockHash
w /或w / o事务,仍然是节点 []
] .
具体来说,这是请求数据:
ETH: LES-ProofsV2-Req: L 1: [
ETH: LES-ProofsV2-Req: L 4: [
ETH: LES-ProofsV2-Req: I 32: 0x0a89dd55d38929468c1303b92ab43ca57269ac864175fc6208ae739ffcc17c9b
ETH: LES-ProofsV2-Req: I 32: 0x272cf200ca06815ab2170fde0901e7da10ab1dddc31223184f139def3b09f670
ETH: LES-ProofsV2-Req: I 32: 0x0000000000000000000000000000000000000000000000000000000000000000
ETH: LES-ProofsV2-Req: I 0: 0x
ETH: LES-ProofsV2-Req: ]
ETH: LES-ProofsV2-Req: ]
blockHash 0x0a89...
是blockNumber 5732521
,key2是帐户 0x49f4C50d9BcC7AfdbCF77e0d6e364C29D5a660DF
的哈希值 .
为完整起见,回复是:
ETH: LES-PROOFSV2: L 3: [
ETH: LES-PROOFSV2: I 0: 0x
ETH: LES-PROOFSV2: I 4: 0x11d1a228
ETH: LES-PROOFSV2: L 0: []
ETH: LES-PROOFSV2: ]
成功获取GetProofsV2请求需要什么?