ERPC открывает полный доступ к историческим данным Solana RPC во всех регионах — интеграция Old Faithful обеспечивает полную выборку без пропусков

ERPC открывает полный доступ к историческим данным Solana RPC во всех регионах — интеграция Old Faithful обеспечивает полную выборку без пропусков

ERPC открывает полный доступ к историческим данным Solana RPC во всех регионах — интеграция Old Faithful обеспечивает полную выборку без пропусков
ERPC, который развивают ELSOUL LABO B.V. (штаб-квартира: Амстердам, Нидерланды; генеральный директор: Fumitake Kawasaki) и Validators DAO, объявляет о запуске официального доступа к историческим данным через Solana RPC.
На эндпоинте edge.erpc.global Solana RPC от ERPC отдаёт исторические данные через History Access. Пользователи тарифа Free, пользователи с другими бесплатными лимитами и пользователи платного тарифа запрашивают History Access для более старых блоков и транзакций, добавляя history=true к URL edge.erpc.global.
Это расширение стало возможным благодаря интеграции Old Faithful — технологии с открытым исходным кодом, специально разработанной для архивов Solana и распространения исторических данных, — в RPC-инфраструктуру ERPC.

Структурные сложности доступа к историческим данным в Solana RPC

В Solana на каждую эпоху генерируется примерно 500 ГБ данных, а сама эпоха обычно длится от одного до двух дней. Год от года этот объём продолжает расти, всё сильнее нагружая и хранилище, и I/O RPC-узлов.
Чтобы удерживать производительность и стабильность эксплуатации, большинство стандартных RPC-узлов хранит только ограниченное число последних эпох. Во многих случаях конфигурации примерно с 4 ТБ диска хватает лишь на три-четыре эпохи, то есть примерно на неделю истории. Поэтому запросы к более старым блокам, транзакциям или состояниям аккаунтов часто возвращают неполные данные либо не возвращают их вовсе.
Эти ограничения давно создают практические сложности для сценариев, завязанных на историю: ончейн-аналитики, долгосрочного анализа поведения, ретроспективного тестирования, аудита и исследований.

Практические ограничения классических архивных подходов

Традиционно основным способом получить доступ ко всей истории реестра Solana считалось развёртывание архивного узла. Но такой путь требует огромного объёма репликации данных, длительной первичной синхронизации и постоянно высоких затрат на эксплуатацию.
Особенно дорого обходятся архивные конфигурации на базе Google Cloud Bigtable: значительные расходы возникают уже на этапе миграции данных при запуске, а затем продолжаются и в процессе эксплуатации. Для многих разработчиков и организаций такие решения остаются непрактичными. Кроме того, сильная зависимость от одного облачного провайдера вызывает вопросы и с точки зрения децентрализации, которая лежит в основе блокчейн-систем.

Модель распространения исторических данных через Old Faithful

Old Faithful — это архивная инфраструктура с открытым исходным кодом, созданная для решения этих проблем внутри экосистемы Solana. Она формирует и раздаёт исторические архивы в формате Content Addressable Archives (CAR) из архивов RocksDB, которые создаются узлами-хранилищами Solana.
В формате CAR каждая эпоха, блок, транзакция и shred получают уникальный хеш содержимого. Благодаря этому можно криптографически проверять целостность и убеждаться, что полученные данные не были изменены, даже если они пришли из недоверенного источника распространения.
Old Faithful рассчитан на работу со всей историей реестра Solana — от генезиса до текущего момента — и поддерживает разные способы выдачи данных, включая HTTP, CDN и распределённые системы хранения.

Как Old Faithful встроен в ERPC

Интегрировав Old Faithful в свою инфраструктуру Solana RPC, ERPC сделала исторические данные доступными через уже существующий интерфейс Solana RPC. Исторические данные поступают с того же эндпоинта edge.erpc.global и через те же методы Solana RPC, что и недавние данные; чтобы запросить History Access, к URL эндпоинта добавляют history=true.
Обновление развёрнуто единообразно во всех регионах ERPC, поэтому исторические данные доступны одинаково вне зависимости от географии. Даже в глобально распределённых конфигурациях пользователи получают одно и то же покрытие истории во всех регионах.

Особенности производительности и дальнейшие исследования

Поскольку исторические данные по своей природе очень объёмны, некоторые запросы могут выполняться дольше, чем обращения к свежим данным. Это объясняется структурой самой задачи и не означает неисправность системы или деградацию производительности.
ERPC продолжает исследования и разработку, направленные на ускорение выборки исторических данных, включая оценку конфигураций на базе NVMe-накопителей нового поколения и большой ёмкости. По мере накопления выводов из реальной эксплуатации платформа будет последовательно вносить улучшения.

Какие сценарии теперь поддерживаются

С этим обновлением Solana RPC от ERPC поддерживает более широкий круг сценариев, чем просто работа в реальном времени. Теперь без дополнительной инфраструктуры можно выполнять долгосрочную аналитику, историческую проверку, исследования, аудит и анализ поведения приложений.
То, что доступ к истории становится естественным продолжением стандартного использования RPC, заметно расширяет практическую область применения Solana RPC от ERPC.

Использование

Чтобы прочитать более старые блоки и транзакции, добавьте history=true к URL эндпоинта edge.erpc.global в HTTP-запросе. За исключением getTransactionsForAddress, ответ на запрос без history=true берётся из недавнего диапазона, хранимого каждым узлом.
HTTP-запрос может передавать API key в URL:
text
https://edge.erpc.global?api-key=<YOUR_API_KEY>&history=true
Или API key передаётся в заголовке Authorization, а history=true остаётся в URL:
text
https://edge.erpc.global?history=true
Заголовок имеет вид Authorization: Bearer <YOUR_API_KEY>.
Документация ERPC по RPC: https://erpc.global/ru/doc/rpc/general/
За исключением getTransactionsForAddress в режиме "full", вызов, на который отвечает History Access, стоит на 640 токенов больше обычной цены метода, а вызов, ответ на который берётся из недавнего диапазона, хранимого каждым узлом, остаётся по обычной цене, даже с history=true. getTransactionsForAddress в режиме "full" стоит обычную цену плюс 640 токенов за каждую полученную транзакцию, недавнюю или старую. Для History Access у бесплатных лимитов, включая лимит тарифа Free, есть ограничение.
Обращение к историческим данным может занимать намного больше времени, чем обычный запрос, в некоторых случаях — секунды. ERPC предлагает History Access как отдельную опцию, которая держит обращения к историческим данным отдельно от обычных запросов, чтобы обычные запросы оставались быстрыми.
Пользователи могут получить и проверить свой API key ERPC в ERPC Web Dashboard.
Официальный Discord Validators DAO: https://discord.gg/C7ZQSrCkYR Официальный сайт ERPC: https://erpc.global/ru