FAQ по Solana RPC endpoint | ERPC
Q. Вывод моих Shreds / getBlock внезапно выглядит сломанным или возвращает -32015 — что изменилось?
Solana Transaction v1 (SIMD-0385) вступила в силу в мейннете Solana 15 сентября 2026 года, в эпохе 1035. Wire-формат транзакции v1 начинается с байта префикса версии
0x81, подписи идут после сообщения, а legacy-префикса длины больше нет.Если вы сами декодируете entries ShredStream, Direct Shreds или UDP Forwarding, декодер
bincode или solana-entry версии ниже 4.2 ошибочно читает этот байт 0x81 как количество подписей — это проявляется как ошибка EOF, переполнение compact-length или ошибка "invalid message version". Пользователи Geyser gRPC, которые десериализуют raw-транзакции крейтами до 4.2, сталкиваются с той же проблемой. RPC-вызовы getBlock и getTransaction с maxSupportedTransactionVersion: 0 возвращают -32015 Transaction version (1) is not supported by the requesting client; getTransactionsForAddress в режиме full сообщает ту же ошибку для каждой затронутой строки. Вас это не затрагивает, если вы уже читаете распарсенные JSON-ответы ERPC с установленной версией 1.Установите
maxSupportedTransactionVersion в 1 в объекте опций — втором параметре getBlock и getTransaction, а также в опциях getTransactionsForAddress:json
{
"maxSupportedTransactionVersion": 1
}{
"maxSupportedTransactionVersion": 1
}Обновите Solana Stream SDK до
2.0.0: Rust solana-stream-sdk на crates.io либо npm @validators-dao/solana-stream-sdk и @validators-dao/solana-shreds-client. Отдельно обновите @validators-dao/solana-entry-decoder до 2.5.0. 1.4.0 и entry-decoder 2.4.0 не поддерживают v1. Собственные Rust-декодеры следует перевести на solana-entry 4.2.x.- Руководство по миграции
- Примечания к выпуску SDK 2.0.0
- Репозиторий Solana Stream SDK
- SIMD-0385: предложение Transaction v1
- Обновление Solana: Larger Transaction Sizes
- Документация Solana RPC: getBlock
- Документация Solana RPC: getTransaction
- Документация ERPC: быстрый старт ShredStream
- Документация ERPC: быстрый старт Geyser gRPC
- Документация ERPC: RPC
Q. Что такое RPC-эндпоинт Solana и как получить его в ERPC?
RPC-эндпоинт Solana - это URL, через который ваше приложение, trading bot, кошелек или аналитическая система отправляет JSON-RPC запросы в Solana и получает данные блокчейна. В ERPC вы получаете управляемый Solana RPC endpoint с доступом по HTTP и WebSocket через ту же глобальную прокси-сеть.
Чтобы начать, создайте или откройте аккаунт ERPC в ERPC Dashboard, скопируйте API key и добавьте его как параметр
api-key в URL Solana RPC endpoint:text
https://edge.erpc.global?api-key=<YOUR_API_KEY>https://edge.erpc.global?api-key=<YOUR_API_KEY>Тот же формат API key используется для WebSocket подписок:
text
wss://edge.erpc.global?api-key=<YOUR_API_KEY>wss://edge.erpc.global?api-key=<YOUR_API_KEY>Q. Сколько токенов потребляет каждый метод?
Сейчас мы готовим подробную таблицу потребления токенов.
Для ориентира базовая ставка составляет 42 токена за метод.
Кроме
getTransactionsForAddress в режиме "full", вызов, обслуженный через History Access, стоит на 640 токенов больше обычной цены метода (для getBlock — 42 + 640 = 682 токена), а вызов, обслуженный из недавних данных, сохраняет обычную цену, даже с history=true.Q. Почему отсутствуют более старые блоки или транзакции Solana или почему я вижу -32011?
Кроме
getTransactionsForAddress, запрос без history=true обслуживается из недавнего диапазона, который хранит каждая нода, поэтому более старые блоки или транзакции могут вернуть ошибку This request needs history access. Add history=true to the endpoint URL. (код -32011), null или пустой результат — в зависимости от метода. Добавьте history=true к URL https://edge.erpc.global HTTP-запроса, чтобы запросить их.Передайте 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> и оставьте history=true в URL:text
https://edge.erpc.global?history=truehttps://edge.erpc.global?history=trueПоиск более старых блоков или транзакций может занимать намного больше времени, чем обычный запрос, — в некоторых случаях секунды. History Access — отдельная опция, которая отделяет такие поиски от обычных запросов, чтобы обычные запросы оставались быстрыми. Кроме
getTransactionsForAddress в режиме "full", каждый вызов, обслуженный через History Access, стоит на 640 токенов больше обычной цены метода.Бесплатные лимиты, в том числе у тарифа Free, имеют ограничение для History Access. Тариф Free ограничен одним запросом с History Access в 10 секунд.
Без
history=true метод getTransactionsForAddress с transactionDetails, равным "full", возвращает ту же ошибку -32011 независимо от возраста данных; цена указана в документации ERPC.Q. Какие методы поддерживает Unlimited Endpoint?
Unlimited Endpoints предназначены для стандартных вызовов Solana RPC с низкой задержкой. Поддерживаемые методы:
getSlot, getBlockHeight, getLatestBlockhash, getBalance, getAccountInfo, getMultipleAccounts, getTransaction, sendTransaction, simulateTransaction, getSignatureStatuses, getRecentPrioritizationFees, getHealth, getVersion, getEpochInfo, getBlock. Для других методов используйте https://edge.erpc.global?api-key=<YOUR_API_KEY>.Q. В каких регионах расположены ваши ноды?
Сейчас мы эксплуатируем ноды в следующих регионах:
- Frankfurt (FRA)
- Amsterdam (AMS)
- London (LON)
- New York (NY)
- Chicago (CHI)
- Tokyo (TY)
- Singapore (SGP)
- Sydney (SYD)
RPC endpoints ERPC работают через Cloudflare и используют глобальную сеть из более чем 300 edge-серверов. Запросы автоматически направляются через ближайшую edge-локацию Cloudflare, а затем пересылаются на оптимальную ноду ERPC, что обеспечивает максимально короткий сетевой маршрут и стабильно низкую задержку из любой точки мира.
Эта архитектура устраняет влияние географической удаленности и сложной маршрутизации, обеспечивая всегда оптимизированное подключение к нодам Solana с максимальной стабильностью и производительностью.
веб-панель ERPC: веб-панель ERPC
Q. Можно ли использовать WebSocket?
Да, WebSocket поддерживается. Он работает через тот же endpoint и позволяет эффективно получать обновления данных в реальном времени.
Q. Почему я получаю ошибку 401?
Ошибка 401 указывает на проблему с аутентификацией. Проверьте следующее:
- Началась ли ваша подписка
- Остались ли у вас кредиты
Если кредиты закончились, рассмотрите возможность перехода на более высокий план.
Q. Почему я получаю ошибку 429?
Ошибка 429 означает, что вы достигли лимита rate limit. Если такая ошибка возникает часто и влияет на ваш сервис, рассмотрите возможность обновления плана.
Q. Почему dedicated endpoints быстрее?
Shared endpoints используются несколькими клиентами, которые делят одни и те же ресурсы. По мере роста трафика задержка становится более вероятной. Серверные ресурсы физически ограничены, и объем работы, который они могут обработать, конечен. Когда одновременно приходит слишком много запросов, их приходится обрабатывать последовательно, что приводит к более медленному времени ответа.
Хотя мы применяем различные меры для оптимизации производительности даже на shared endpoints, на dedicated endpoints вы являетесь единственным пользователем ресурса. Это означает, что другие пользователи никак на вас не влияют, и вы получаете стабильно быстрые и предсказуемые ответы.
Кроме того, dedicated endpoints поддерживают варианты соединения без TLS, например HTTP. За счет пропуска TLS handshake (около 20ms) соединение становится еще быстрее по сравнению с HTTPS.
Q. После оформления подписки акционная цена будет повышена?
Пока ваша подписка активна, цена со скидкой, зафиксированная при оформлении, остается в силе. Конфигурации, выдерживающие реальную нагрузку Solana, - глобально дефицитный ресурс, и базовые цены мы планируем поэтапно повышать вслед за ростом спроса на оборудование и сеть. Высокоспецификационные сборки и регионы с концентрированным спросом распродаются первыми, поэтому фиксация текущей промо-цены - самый выгодный выбор для долгосрочного контроля расходов.
Q. Я хочу платить криптовалютой
Криптоплатежи доступны в ERPC Web Dashboard, если страна вашего зарегистрированного платежного адреса входит в число стран Евросоюза. Вы можете использовать SOL, USDC или EURC для покупки ERPC Credits.
Используйте эти ERPC Credits, чтобы активировать или продолжить планы ERPC. Откройте dashboard, выберите crypto payment, отправьте перевод из своего wallet, и dashboard проверит транзакцию и зачислит credits на ваш account.
Поддерживаемые страны: Австрия, Бельгия, Болгария, Венгрия, Германия, Греция, Дания, Ирландия, Испания, Италия, Кипр, Латвия, Литва, Люксембург, Мальта, Нидерланды, Польша, Португалия, Румыния, Словакия, Словения, Финляндия, Франция, Хорватия, Чехия, Швеция, Эстония.
Для стран, которых нет в списке, используйте оплату кредитной картой.
Q. Какой регион вы рекомендуете?
Единственного постоянного лучшего региона нет. Solana глобальна, а роль leader ротируется между validators, slot за slot. В регионах с большим числом валидаторов и более крупным stake leader-slots появляются чаще, что помогает транзакциям приземляться быстрее. Обратная сторона в том, что конкурирующий трафик концентрируется там же, поэтому менее загруженный регион иногда может дать лучший результат в зависимости от вашей стратегии.
Практическое правило: если важен стабильный поток leader-slots, выбирайте плотный регион вроде Frankfurt или Восточного побережья США; если важен кратчайший путь до конкретного target validator, размещайтесь рядом с ним. Используйте Validators Solutions для понимания публичного распределения сети Solana, а затем ERPC Leader Slot API и реальные измерения, чтобы выбрать single-region, dual-region или глобальное размещение.
Q. Мне нужна задержка примерно ~400ms или ниже.
Чтобы добиться задержки на уровне примерно 400ms или ниже, учитывайте следующие ключевые моменты:
-
Реалистичное понимание значений ping: Значения ping отражают идеальные условия и не показывают фактическую задержку при потоковой передаче данных, где задержка обычно составляет примерно 5 раз от ping. Например, ping 100ms между континентами на практике означает около 500ms задержки. Поэтому для достижения ~400ms инфраструктуру необходимо размещать в том же регионе.
- Типичные ориентиры по ping:
- Одна сеть: ~0.1ms
- Private Network Interconnect (PNI): ~0.2ms
- Один дата-центр: ~0.3ms
- Один город: ~1ms
- Соседняя страна: ~5–10ms
- Межконтинентально: ~100–300ms
- Типичные ориентиры по ping:
-
Не полагайтесь на среднюю задержку: Валидаторы Solana географически распределены по всему миру, а leader schedule случайным образом меняется с каждой эпохой. Ориентироваться на среднюю задержку, чтобы добиться ~400ms, непрактично. Вместо этого нужно точно отслеживать расписание валидаторов в нужном вам регионе и выявлять slots с наименьшей задержкой. Чтобы стабильно добиваться минимальной задержки, нужна инфраструктура во всех релевантных регионах. Внутри одного региона данные можно получать за десятки миллисекунд, а передавать за считаные миллисекунды.
-
Отслеживание leader schedule: Непрерывно отслеживайте leader schedule для вашего региона с помощью ERPC Leader Slot API (
getLeaderSlots). Он предоставляет данные в реальном времени о ближайших лидерах, stake weight, геолокации валидаторов и эталонных значениях ping, позволяя точно находить оптимальные торговые slots с минимальной задержкой. Публичные картографические данные и нативные RPC APIs полезны для общего понимания сети, но их точности недостаточно для выбора момента исполнения. Leader Slot API закрывает этот пробел с детализацией, нужной для routing и trading-решений.
Данные сети Solana: Validators Solutions
Q. Как добиться zero-block (zero-slot) trading?
Чтобы успешно добиться zero-block (zero-slot) trading, нужны более продвинутые стратегии, в частности:
-
Определение зон возможностей: Валидаторы Solana распределены по всему миру, и физически невозможно обеспечить оптимальную задержку для каждого slot. Поэтому отслеживайте leader schedule валидаторов в регионе, где размещена ваша инфраструктура, и определяйте наиболее выгодные зоны возможностей. Размещение инфраструктуры в нескольких регионах также может дать преимущество. Например, Frankfurt является ключевым регионом из-за высокой плотности валидаторов, поэтому лидеры там выбираются чаще и торговых возможностей больше.Используйте ERPC Leader Slot API (
getLeaderSlots), чтобы получать leader schedule в реальном времени, stake weight, геоданные валидаторов и эталонные значения ping с большей операционной точностью, чем у публичных картографических данных или нативных RPC APIs. Это позволяет точнее прогнозировать зоны возможностей и исполнять сделки почти с нулевой задержкой. -
Развертывание dedicated nodes: Если вам сложно конкурировать, рассмотрите развертывание dedicated nodes. На shared nodes возникает задержка из-за трафика других пользователей, поэтому они не рекомендуются. Кроме того, размещение dedicated node в той же сети, что и ваше приложение, значительно снижает сетевую задержку и оптимизирует производительность.
Q. Как добиться минимально возможной задержки?
Идеальная конфигурация для минимальной задержки - это dedicated RPC node в сочетании с нашими Bare-Metal servers. Они находятся в одной сети и обеспечивают приватную связь с нулевой дистанцией и ping около 0.1ms.
Свяжитесь с нами в веб-панели ERPC, если нужны подробности.
Q. На моей dedicated node низкий процент успешных транзакций
На успешность и скорость транзакций сильно влияет механизм под названием QoS (Quality of Service). Мы предоставляем QoS специально для dedicated nodes. Подробности смотрите на страницах ниже или уточняйте через наш веб-панель ERPC.
Q. Какая здесь задержка?
Задержка зависит от способа измерения и вашей конкретной среды использования. Важнее не точное числовое значение, а то, соответствует ли задержка вашим реальным рабочим требованиям.
У нас есть простые в использовании инструменты на TypeScript и Rust для измерения задержки.
Q. Этот RPC (gRPC, Shreds) быстрее других?
Мы проектируем каждый план с расчётом на скорость и рады, когда её измеряют бок о бок с любым другим провайдером. Результаты зависят от региона, от того, используете ли вы shared или dedicated endpoint, от протокола (WebSockets, gRPC или Shreds) и от языка программирования вашего клиента.
Если окажется, что наш сервис медленнее, сообщите нам в веб-панели ERPC конкретные условия и с какими конкурентами вы сравнивали. Мы разберемся в причине и дополнительно улучшим скорость.
Q. Какой план обеспечивает самую высокую производительность?
Как правило, самый быстрый результат дает наш тариф верхнего уровня благодаря более мощным CPU, большему объему памяти и усиленной аппаратной конфигурации.
Если вам нужны еще более мощные серверы, мы также предлагаем кастомные решения, но наши стандартные планы рассчитаны на оптимальное соотношение цены и производительности.
Мы уверены, что обеспечиваем производительность мирового уровня в каждом ценовом сегменте. Если вы найдете более быстрого провайдера в том же ценовом диапазоне, сообщите нам, чтобы мы могли проверить это и улучшить сервис.
Q. У меня высокая задержка. Почему?
Задержка увеличивается с расстоянием до endpoint. Мы рекомендуем подключаться с серверов, расположенных близко к предоставленному endpoint. Самые быстрые среды доступны через наши Bare-Metal servers и VPS services.
Q. Что быстрее: WebSockets, gRPC или Shreds?
По отзывам клиентов порядок производительности обычно такой:
Shreds > gRPC > WebSockets
Если у вас наблюдаются другие результаты, сообщите нам.
Q. Задержка оказалась не такой, как я ожидал.
Производительность может заметно различаться в зависимости от выбранного языка программирования. Обычно порядок такой:
Rust > Go > TypeScript (JavaScript) > Python
Для более подробного сравнения смотрите:
Если вам нужна максимальная производительность, мы настоятельно рекомендуем Rust.








