# Ограничения API пула публичных нод
Пул публичных нод — это множество публичных нод, предоставляющих данные через REST API. Вы можете пользоваться публичными нодами для получения информации из блокчейна, но мы рекомендуем использовать собственные ноды, поскольку публичный пул имеет ограничения.
Перед каждой публичной нодой в пуле находится веб-сервер Nginx, который ограничивает:
- Количество одновременных соединений с одного IP-адреса. При превышении лимита возвращается HTTP Status 503.
- Количество запросов в секунду (r/s) или в минуту (r/m) с одного IP-адреса. Если количество поступающих запросов превышает заданное значение, то избыточные запросы ставятся в очередь на обработку. Размер очереди ограничен настройкой
burst
. Если количество избыточных запросов превысилоburst
, новые запросы не ставятся в очередь, возвращается HTTP Status 429. Подробнее см. в документации.
Кроме того, веб-сервер кеширует ответы ноды, поэтому данные могут быть устаревшими.
В таблицах ниже пути для запросов заданы с использованием регулярных выражений, например d+.
# Ограничения для пула Mainnet
Путь | Соединения | Запросы | Время кеширования |
---|---|---|---|
/ | 15 | 20 r/s (burst 50) | 1 s |
/blocks/seq/\d+/\d+ | 1 | 1 r/s | 5 s |
/blocks/at/.+ | 1 | 1 r/s | 30 s |
/blocks/last /transactions/address/.+/limit/.+ /addresses/validate/.+ /blocks/delay/.+/.+ /peers/connected /peers/all /node/version /node/status /addresses/effectiveBalance/.+ /alias/.+ | 100 | 20 r/s (burst 50) | 1 s |
/transactions/broadcast/.+ | – | 2 r/s (burst 2) | – |
/transactions/info/.+ | 15 | 20 r/s (burst 50) | 1 m |
/blocks/height /transactions/unconfirmed | 15 | 20 r/s (burst 50) | 15 s |
/addresses/balance/.+ /assets/balance/.+ | 15 | 100 r/s (burst 100) | 3 s |
^/transactions/address/.* ^/addresses/data/[^/]+$ ^/assets/balance/[^/]+$ ^/assets/[^/]/distribution.* | – | 17 r/m (burst 17) | 1 s |
/utils/script/evaluate | – | 10 r/m | 1 s |
# Ограничения для пула Testnet
Путь | Соединения | Запросы | Время кеширования |
---|---|---|---|
/ | 15 | 20 r/s (burst 50) | 1 s |
/blocks/seq/\d+/\d+ | 1 | 1 r/s | 5 s |
/blocks/at/.+ | 1 | 1 r/s | 30 s |
/blocks/last /consensus/algo /consensus/basetarget /transactions/address/.+/limit/.+ /addresses/validate/.+ /blocks/delay/.+/.+ /consensus/generatingbalance/.+ /peers/connected /peers/all /node/version /node/status /addresses/effectiveBalance/.+ /alias/.+ | 100 | 20 r/s (burst 50) | 1 s |
/transactions/info/.+ | 15 | 20 r/s (burst 50) | 1 m |
/blocks/height /transactions/unconfirmed | 15 | 20 r/s (burst 50) | 15 s |
/addresses/balance/.+ /assets/balance/.+ | 15 | 100 r/s (burst 100) | 3 s |
/utils/script/evaluate | – | 10 r/m | 1 s |