Я не могу получить запрос Ethereum LES getProofsV2 (или getProofs) для получения ответа ProofsV2 (или Proofs) с чем-либо, кроме пустого массива узлов.Это для запроса, направленного на узел GETH, открытый для соединений LES.
Аргументы запроса: [B_32 (blockHash), B_32 (key), B_32 (key2), P (fromLevel)]
.Я предоставляю blockHash
из любого недавно добытого блока;key
в качестве хеша Keccak256 20-байтовой учетной записи (с транзакциями из месяцев назад), * 1006 * в виде 32 байтов 0 и fromLevel
в 0. Я ожидаю получить обратно массивNodes
с последним узлом, имеющим кодировку RLP AccountState
(с {nonce,balance,...}
. Это ожидание правильное? Или я ожидал бы получить массив узлов, только если key
имел транзакции в указанном blockHash
? [Фактически, я пробовал обе - blockHash
без / с транзакциями, все еще узлы - []
].
В частности, это данные запроса:
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?