Как выровнять ряды данных eth_feeHistory по блокам
В массиве базовых комиссий на один элемент больше. Если механически сопоставить каждую комиссию с загрузкой блока, последняя точка графика получит неверную подпись.
Привяжите массивы к высоте
Запросите три блока до latest и один процентиль вознаграждения. Возьмите начальную высоту из oldestBlock. Если она равна 100 и доступны три блока, нулевой индекс измеренных рядов относится к блоку 100.
{"jsonrpc":"2.0","id":1,"method":"eth_feeHistory","params":["0x3","latest",[50]]}
Три значения загрузки и три строки вознаграждений относятся к блокам с 100 по 102. Четыре базовые комиссии соответствуют высотам с 100 по 103. Последняя вычислена для следующего блока по данным предыдущего. Измеренной загрузки для неё в этом ответе нет.
Подпишите процентиль корректно
Процентиль описывает эффективные чаевые с весом по израсходованному газу внутри блока. Он не гарантирует включение новой транзакции. При укороченной истории используйте реальные длины массивов ответа, а не запрошенное число блоков. ethereum.github.io eth_feeHistory