getBlocksWithLimit позволяет получить список номеров слотов подтверждённых блоков, начиная с указанного слота и вплоть до заданного предела. Это полезно, когда нужно получить определённое количество последующих подтверждённых блоков, начиная с конкретной точки в реестре.
Распространённые сценарии использования
- Получение фиксированного количества последующих блоков: Получите заданное количество слотов блоков, подтверждённых после определённого начального слота.
- Постраничный просмотр блоков: Получайте блоки частями при анализе сегмента блокчейна.
- Мониторинг последних блоков: Получите последние N блоков, начиная с известного недавнего слота.
Параметры запроса
МетодgetBlocksWithLimit принимает следующие параметры:
start_slot(u64, обязательный): первый учитываемый слот включительно.limit(u64, обязательный): максимальное количество возвращаемых слотов блоков. Общее количество запрашиваемых слотов (отstart_slotдо слота, расположенного черезlimitблоков после него) не должно превышать 500 000 слотов.commitment(строка, необязательный): задаёт уровень подтверждения для запроса. Если параметр не указан, используется уровень подтверждения узла по умолчанию. Он передаётся как единственное поле объекта конфигурации в последнем параметре.
Структура ответа
Полеresult ответа JSON-RPC содержит массив целых чисел u64. Каждое целое число в массиве представляет номер слота подтверждённого блока, начиная с start_slot и вплоть до указанного значения limit.
- Пример: если значение
start_slotравно 5, аlimit— 3, возможный результат —[5, 6, 7].
Примеры
1. Получение ограниченного количества блоков из начального слота
В этом примере извлекается список из максимум 5 слотов подтверждённых блоков, начиная со слота280000000.
2. Получение ограниченного количества блоков с определённым уровнем подтверждения
В этом примере извлекается до 3 блоков, начиная со слота290000000, с уровнем подтверждения confirmed.
Рекомендации разработчикам
- Уточнение диапазона: параметр
limitзадаёт максимальное количество возвращаемых слотов блоков. Ограничение в 500 000 слотов применяется к логическому диапазону сканирования, то есть отstart_slotдоstart_slot + limit - 1. Убедитесь, что этот логический диапазон не превышает 500 000 слотов, даже если в нём найдено и возвращено меньше фактических блоков. - Доступность данных на узле: узлы могут не хранить информацию обо всех исторических слотах. Для очень старого значения
start_slotможет вернуться меньше блоков, чем указано вlimit, или пустой массив — в зависимости от срока хранения данных реестра на узле. - Подтверждение блоков: этот метод возвращает подтверждённые блоки. Точный набор блоков может немного различаться в зависимости от выбранного уровня
commitmentи запрашиваемого узла, особенно для самых последних слотов. - Специализация сценария использования:
getBlocksWithLimitидеально подходит, когда известна начальная точка и требуется фиксированное количество последующих блоков. Если нужны все блоки в известном диапазоне слотов, лучше подойдётgetBlocks.
getBlocksWithLimit для получения заданного количества слотов подтверждённых блоков в сети Solana.
Связанные методы
getBlocks
Получите все блоки в диапазоне слотов
getBlock
Получите подробную информацию об определённом блоке