Ethereum LES getProofsV2 всегда возвращает [] (пустые узлы) - PullRequest
0 голосов
/ 12 июня 2018

Я не могу получить запрос 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?

...