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

时间:2018-06-12 16:37:19

标签: 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哈希值(几个月前的事务),key2为32字节0,fromLevel为0.我期待返回一个Nodes数组,最后一个节点的RLP编码为AccountState{nonce,balance,...}。这个期望是正确的吗?或者我只期望获得一个节点数组如果key在指定的blockHash中有交易?[事实是,我尝试了两个 - blockHash w /或没有交易,仍然是[]}节点。

具体来说,这是请求数据:

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请求需要什么?

0 个答案:

没有答案