以太坊LES getProofsV2始终返回[](空节点)

GoZ*_*ner 9 ethereum go-ethereum

我无法获得以太网LES getProofsV2(或getProofs)请求来生成ProofsV2(或Proofs)响应,除了一个空的节点数组外.这适用于针对打开LES连接的GETH节点的请求.

请求参数是[B_32 (blockHash), B_32 (key), B_32 (key2), P (fromLevel)].我blockHash从最近开采的块中提供了一个; a key作为20字节帐户的Keccak256哈希值(来自几个月前的事务),一个key232字节的0和0,fromLevel我期望得到一个Nodes最后一个节点具有RLP编码的数组在AccountState(用{nonce,balance,...}.就是这种期望纠正或将我只期望得到节点的数组,如果?key在有交易的规定blockHash?[事实是,我都尝试- blockHash瓦特/或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:   ]
Run Code Online (Sandbox Code Playgroud)

其中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: ]
Run Code Online (Sandbox Code Playgroud)

成功获取GetProofsV2请求需要什么?