Как разнести награды за эпоху Solana по стейк- и vote-аккаунтам
Изменение баланса может включать и награду, и пополнения или выводы. Для отчёта по эпохе запросите начисленное вознаграждение напрямую.
Укажите эпоху и получателей
Подставьте адреса проверяемых стейк- и vote-аккаунтов. Вместо 500 укажите завершённую эпоху. Адрес кошелька, который управляет стейк-аккаунтом, может отличаться от адреса получателя награды.
{
"jsonrpc": "2.0",
"id": 1,
"method": "getInflationReward",
"params": [
[
"STAKE_ACCOUNT",
"VOTE_ACCOUNT"
],
{
"epoch": 500,
"commitment": "finalized"
}
]
}
Привяжите начисление к слоту
Сопоставьте результаты с адресами по позиции в массиве. Если amount равен 32 000, а postBalance — 100 032 000 лампортов, непосредственно до начисления там было 100 000 000. Сохраните epoch и effectiveSlot с суммой, чтобы последующие операции не затруднили сверку.
Запись null означает, что узел не вернул сведения о награде за эту эпоху для данного адреса. Отдельно отметьте отсутствие данных и перед закрытием отчёта проверьте охват истории и роль аккаунта.