Документация NEAR RPC endpoint | ERPC

Документация NEAR RPC endpoint

Используйте ERPC как ваш NEAR RPC endpoint для HTTP JSON-RPC запросов. NEAR RPC является частью RPC APIs ERPC в рамках нашей Global Edge Blockchain Infrastructure, а управление API key доступно через ERPC Web Dashboard.
Вы можете использовать тот же RPC key, что и для Solana, Ethereum и Avalanche.
Передайте ваш API key в параметре запроса api-key или отправьте его как Authorization: Bearer <YOUR_API_KEY>. Если указаны оба варианта, используется параметр запроса.

Endpoints

Отправляйте запросы JSON-RPC 2.0 как HTTP POST на:
text
https://edge.erpc.global/near?api-key=<YOUR_API_KEY>
или на выделенный хост:
text
https://near.erpc.global?api-key=<YOUR_API_KEY>
Запросы принимаются только по пути /.

Примеры

Пример HTTP-запроса с API key в параметре запроса.
bash
curl 'https://edge.erpc.global/near?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
Тот же запрос с API key в заголовке Authorization.
bash
curl 'https://edge.erpc.global/near' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"2.0","id":1,
  "method":"block",
  "params":{"finality":"final"}
}'
Получить и проверить ваш API key можно на ERPC Web Dashboard: ERPC Web Dashboard

Batch-запросы

Поддерживаются batch-пакеты JSON-RPC от 1 до 100 вызовов на один HTTP-запрос. У каждого вызова должен быть свой id, и значения id внутри одного batch не должны повторяться. Каждый вызов в batch тарифицируется как отдельный вызов. Размер тела запроса — до 1 MiB.

Тарификация использования

Использование тарифицируется в токенах, и ставка в токенах может различаться в зависимости от метода. Каждый вызов в HTTP batch тарифицируется отдельно.

Ограничения тарифа Free

На тарифе Free ваш аккаунт может отправлять один запрос в 10 секунд. Лимит считается по аккаунту, а не по endpoint, поэтому запрос к другой сети тоже может засчитываться в этот лимит. На запрос, отправленный раньше, возвращается HTTP 429, а заголовок retry-after указывает время ожидания в секундах.
На тарифе Free на запрос, содержащий два или более вызова JSON-RPC, возвращается HTTP 429, и ни один из его вызовов не отправляется: каждый вызов получает ошибку JSON-RPC с кодом -32041. Отправляйте такие вызовы по одному.

Поддерживаемые методы

Endpoint обслуживает следующие методы NEAR JSON-RPC. Методы EXPERIMENTAL_ отправляются с префиксом в верхнем регистре.
  • Методы (17): EXPERIMENTAL_changes_in_block, EXPERIMENTAL_genesis_config, EXPERIMENTAL_protocol_config, EXPERIMENTAL_receipt, EXPERIMENTAL_receipt_to_tx, EXPERIMENTAL_tx_status, EXPERIMENTAL_validators_ordered, block, broadcast_tx_async, broadcast_tx_commit, chunk, gas_price, network_info, send_tx, status, tx, validators
  • query (6 значений request_type): call_function, view_access_key, view_access_key_list, view_account, view_code, view_state
  • EXPERIMENTAL_changes (5 значений changes_type): account_changes, all_access_key_changes, contract_code_changes, data_changes, single_access_key_changes
query и EXPERIMENTAL_changes нужно отправлять с params в виде объекта, который содержит указанное выше значение request_type или changes_type.
На метод, которого нет в списке, возвращается HTTP 400.

Коды состояния ответа

HTTP статусЗначение
200Ответ вышестоящего JSON-RPC. Ошибка JSON-RPC тоже возвращается с HTTP 200: в ней сохраняются id запроса и error.code, в error.message стоит ERPC upstream error, а error.data не возвращается.
400Метод или путь вне раздела «Поддерживаемые методы», некорректный запрос JSON-RPC, пустой batch или batch из более чем 100 вызовов, повторяющийся id в batch или тело запроса больше 1 MiB.
401API key отсутствует или недействителен либо не выполнено ограничение по IP или Origin, заданное для ключа.
405HTTP-метод запроса, отличный от POST.
426Запрошен WebSocket Upgrade. Endpoint работает только по HTTP.
429Ограничение скорости, включая описанные выше ограничения тарифа Free: более одного запроса в 10 секунд или два и более вызова в одном запросе. Если в ответе есть заголовок retry-after, подождите указанное в нём число секунд.
502Не удалось выполнить upstream-запрос: upstream вернул ответ с ошибкой, ответ превышает 8 MiB или ответа нет в течение 30 секунд.
503Сервис временно недоступен.

Методы NEAR RPC и документация

Полный список стандартных методов, параметров и спецификаций см. в официальной документации.