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

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

Используйте ERPC как ваш Bitcoin RPC endpoint для HTTP JSON-RPC запросов. Bitcoin 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 как HTTP POST на:
text
https://edge.erpc.global/bitcoin?api-key=<YOUR_API_KEY>
или на выделенный хост:
text
https://bitcoin.erpc.global?api-key=<YOUR_API_KEY>
Запросы принимаются только по пути /.

Примеры

Пример HTTP-запроса с API key в параметре запроса.
bash
curl 'https://edge.erpc.global/bitcoin?api-key=<YOUR_API_KEY>' --header 'Content-Type: application/json' --data '{
  "jsonrpc":"1.0","id":1,
  "method":"getblockcount",
  "params":[]
}'
Тот же запрос с API key в заголовке Authorization.
bash
curl 'https://edge.erpc.global/bitcoin' --header 'Content-Type: application/json' --header 'Authorization: Bearer <YOUR_API_KEY>' --data '{
  "jsonrpc":"1.0","id":1,
  "method":"getblockcount",
  "params":[]
}'
Bitcoin принимает jsonrpc со значением 1.0 или 2.0 либо без этого поля, и у каждого вызова должен быть id.
Получить и проверить ваш 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 обслуживает следующие 32 метода Bitcoin Core JSON-RPC.
decoderawtransaction, decodescript, estimatesmartfee, getbestblockhash, getblock, getblockchaininfo, getblockcount, getblockfilter, getblockhash, getblockheader, getblockstats, getchaintips, getchaintxstats, getconnectioncount, getdifficulty, getmempoolancestors, getmempooldescendants, getmempoolinfo, getmininginfo, getnetworkinfo, getrawmempool, getrawtransaction, gettransaction, gettxout, gettxoutproof, gettxoutsetinfo, sendrawtransaction, testmempoolaccept, validateaddress, verifychain, verifymessage, verifytxoutproof
На метод, которого нет в списке, возвращается 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Сервис временно недоступен.

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

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