Документация Solana RPC endpoint | ERPC
Документация Solana RPC endpoint
Используйте ERPC как ваш Solana RPC endpoint для HTTP JSON-RPC запросов и WebSocket подписок. Тот же эндпоинт Solana подходит для стандартных RPC methods, а API key можно получить и проверить в ERPC Dashboard.
Добавьте ваш API key в параметр
api-key.text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Примеры:
Ниже приведен пример HTTP request.
bash
curl https://edge.erpc.global?api-key=<YOUR_API_KEY> --header 'Content-Type: application/json' --data '{
"jsonrpc":"2.0","id":1,
"method":"getBlockHeight"
}'curl https://edge.erpc.global?api-key=<YOUR_API_KEY> --header 'Content-Type: application/json' --data '{
"jsonrpc":"2.0","id":1,
"method":"getBlockHeight"
}'Ниже приведен пример подписки WebSocket. Host используется тот же, что и для HTTP.
text
wss://edge.erpc.global?api-key=<YOUR_API_KEY>wss://edge.erpc.global?api-key=<YOUR_API_KEY>bash
# Example: subscribe to slot updates
wscat -c "wss://edge.erpc.global?api-key=<YOUR_API_KEY>"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"slotSubscribe"}# Example: subscribe to slot updates
wscat -c "wss://edge.erpc.global?api-key=<YOUR_API_KEY>"
# After connected, send:
{"jsonrpc":"2.0","id":1,"method":"slotSubscribe"}Получить и проверить ваш API key можно в ERPC Dashboard: ERPC Dashboard
Если вам нужна latency ниже, чем у WebSocket, рассмотрите Geyser gRPC или ShredStream. Детали можно обсудить с нами в ERPC Dashboard.
History Access
Добавьте
history=true к URL edge.erpc.global HTTP-запроса, чтобы искать более старые блоки и транзакции; значение должно быть строго true, в нижнем регистре. Кроме getTransactionsForAddress, запрос без history=true обслуживается из недавнего диапазона, который хранит каждая нода; опция применяется к этим методам:getBlockgetBlockTimegetBlocksgetBlocksWithLimitgetTransaction, включаяgetParsedTransactiongetSignaturesForAddressgetSignatureStatuses, еслиsearchTransactionHistoryравенtruegetTransactionsForAddress, еслиtransactionDetailsравен"full"(требуется History Access)
Укажите API key и опцию в URL как параметры запроса:
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>&history=truehttps://edge.erpc.global?api-key=<YOUR_API_KEY>&history=trueИли передайте
Authorization: Bearer <YOUR_API_KEY> как заголовок, а опцию оставьте в URL:text
https://edge.erpc.global?history=truehttps://edge.erpc.global?history=trueНиже приведен пример HTTP-запроса с использованием History Access.
bash
curl 'https://edge.erpc.global?history=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0","id":1,
"method":"getBlock",
"params":[<SLOT>,{"maxSupportedTransactionVersion":1}]
}'curl 'https://edge.erpc.global?history=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0","id":1,
"method":"getBlock",
"params":[<SLOT>,{"maxSupportedTransactionVersion":1}]
}'Для всех методов, кроме
getTransactionsForAddress в режиме "full":- Каждый вызов, обслуженный через History Access, стоит на 640 токенов больше обычной цены:
getBlockстоит 42 + 640 = 682. - Доплата тоже применяется к результату
null, пустому или частичному, полученному через History Access. Для неудавшегося поиска доплаты нет. - Вызов, обслуженный из недавних данных, сохраняет обычную цену, даже с
history=true. - Batch считает каждый вызов отдельно;
getSignatureStatusesсчитается один раз за вызов, а не за подпись. - Не используйте
history=trueпри опросе недавних транзакций: к каждомуnullтам применяется доплата.
Бесплатные лимиты, в том числе у тарифа Free, имеют ограничение для History Access. Тариф Free ограничен одним запросом с History Access в 10 секунд.
Вызов
getTransactionsForAddress с transactionDetails, равным "full", относится к History Access — и для недавних, и для старых транзакций:- Вызов требует
history=trueв URLedge.erpc.global. Запрос без этой опции отклоняется с ошибкой History Access (код-32011) и ничего не стоит. - С
history=trueвызов стоит 420 + 640 × N токенов: обычная цена 420 плюс 640 за каждую из N полученных транзакций, недавних или старых. Строка без транзакции не учитывается. - Вызов нужно отправлять отдельным запросом. Batch, содержащий его, отклоняется — с
history=trueили без него: на каждый вызов в batch возвращается ошибка-32600с сообщениемThis request is not available in a mixed JSON-RPC batch. Please send it as a separate request., и ни один из них не отправляется.
Режим
signatures по умолчанию не требует history=true, и доплаты за него нет. Чтобы опрашивать адрес в поисках новых транзакций, используйте режим signatures и получайте нужные транзакции через getTransaction.Поиск более старых блоков или транзакций может занимать намного больше времени, чем обычный запрос, — в некоторых случаях секунды. History Access — отдельная опция, которая отделяет такие поиски от обычных запросов, чтобы обычные запросы оставались быстрыми.
Без
history=true запрос getBlock или getBlockTime для более старого слота может вернуть такую ошибку:json
{
"jsonrpc": "2.0",
"error": {
"code": -32011,
"message": "This request needs history access. Add history=true to the endpoint URL.",
"data": {
"erpcCode": "ERPC_HISTORY_OPTION_REQUIRED"
}
},
"id": 1
}{
"jsonrpc": "2.0",
"error": {
"code": -32011,
"message": "This request needs history access. Add history=true to the endpoint URL.",
"data": {
"erpcCode": "ERPC_HISTORY_OPTION_REQUIRED"
}
},
"id": 1
}getTransaction, getParsedTransaction и getSignatureStatuses (с searchTransactionHistory: true) возвращают null для подписи старше, чем хранит нода, а getSignaturesForAddress, getBlocks и getBlocksWithLimit возвращают пустой или частичный результат.Запрос с
history=true может вернуть такие сообщения:This plan has reached its limit for history access. Add a paid plan to use tokens for history access.— показывается, когда бесплатный лимит, например у тарифа Free, достигает ограничения.History access is unavailable while your token balance is low. Add tokens.— показывается на платном тарифе, когда баланс токенов низкий.On the Free plan, history access is limited to one request per 10 seconds. Slow down or use a paid plan.— показывается на тарифе Free, когда запросы с History Access приходят слишком быстро.
Solana RPC Methods и документация
Полный список methods, parameters и спецификаций subscriptions доступен в официальной документации. Она охватывает и HTTP, и WebSocket usage для Solana RPC.






