我无法获得以太网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请求需要什么?