rpc.gonka.gg — Управляемая инфраструктура RPC для Gonka (Infura/Alchemy for Gonka) с ядром с открытым исходным кодом.
Оригинал: rpc.gonka.gg - Managed RPC Infrastructure for Gonka (Infura/Alchemy for Gonka) with opensource core

Два дня назад мы ускорили работу gonka.gg (https://gonka.gg) в 100 раз.
Сегодня мы делаем технологию, лежащую в основе этого ускорения, доступной каждому.
Встречайте rpc.gonka.gg (https://rpc.gonka.gg) — управляемую RPC-инфраструктуру для блокчейна Gonka, созданную Gonka Labs (https://gonkalabs.com).
Мы предоставляем разработчикам надежный, аутентифицированный доступ API ко всей цепочке блоков Gonka через один URL-адрес — нет необходимости запускать собственные узлы. Сервис действует как мост для приложений (dApps, кошельков, бирж, ботов, агентов искусственного интеллекта) для взаимодействия с сетью: отправки транзакций, чтения любых данных, запроса индексированной истории и многого другого.
Это Инфура/Алхимия, но для Гонки.
Прямой эфир: rpc.gonka.gg (https://rpc.gonka.gg)
Почему мы построили это
Когда мы разрабатывали gonka.gg (https://gonka.gg), мы столкнулись с той же самой стеной, с которой сталкивается каждый разработчик Gonka (и разработчики неоднократно писали нам, спрашивая, можем ли мы помочь решить проблемы): узлы Genesis RPC являются общими, иногда медленными под нагрузкой, а запуск собственного полного узла — это проект сам по себе — часы/дни синхронизации, несколько портов, постоянное обслуживание: не каждый хочет решать все это.
Нам нужно было что-то быстрое, с умным кэшированием, с индексированными данными. Таким образом, мы создали его для себя (gonka.gg explorer) и разработчиков, страдающих от тех же проблем, а значит - практически для всех, кто заинтересован в сборке на Gonka. gonka.gg переключился на rpc.gonka.gg в качестве сервера обработки данных, и результаты были немедленными: страницы истории транзакций кошелька сократились с 15+ секунд до менее 1 секунды. Как только мы увидели разницу, естественным следующим шагом было открыть ее, чтобы каждый разработчик в экосистеме получил одинаковую инфраструктуру.
Что вы получаете
Быстрые индексированные данные — /api/ch/*
Это одна из самых важных вещей, которые предлагает rpc.gonka.gg, и главная причина, по которой gonka.gg стал работать в 100 раз быстрее.
Стандартный Cosmos RPC не предназначен для аналитических запросов. Хотите историю транзакций кошелька? Вы вызываете tx_search, который, как известно, медленный и ненадежный на занятых узлах. Хотите, чтобы все транзакции были в блоке? Множественные звонки. Хотите сократить количество событий в сети? Удачи.
rpc.gonka.gg решает эту проблему с помощью набора предварительно созданных конечных точек, поддерживаемых ClickHouse, в /api/ch/* . Это не прокси-вызовы RPC — они напрямую обращаются к нашему размещенному tx-сканеру (https://github.com/gonkalabs/tx-scanner) экземпляру ClickHouse, где были проиндексированы миллиарды событий и сотни миллионов транзакций (у нас есть данные, начиная с Genesis Block, и они постоянно обновляются — когда генерируется новый блок, он немедленно принимается). Тот же набор данных, который поддерживает gonka.gg (https://gonka.gg).
Результаты получаются в 4–110 раз быстрее, чем эквивалентные традиционные запросы RPC на узлах генезиса:
Эти конечные точки возвращают чистый JSON. Никакого анализа ответов protobuf Cosmos SDK, никакой погони за курсорами разбиения на страницы по нескольким вызовам RPC. Данные предварительно индексируются, предварительно объединяются и обслуживаются из столбчатого хранилища ClickHouse, оптимизированного именно для этих шаблонов доступа.
Когда gonka.gg загружал список транзакций кошелька через стандартный RPC tx_search, это занимало более 15 секунд на страницу (и иногда даже тогда происходил сбой по таймауту). После переключения на /api/ch/address/{addr} та же страница загружается менее чем за 1 секунду. Это то же самое ускорение, к которому каждый разработчик, создающий Gonka, теперь получает доступ через rpc.gonka.gg.
Как это работает
Feather — наш собственный узел RPC с открытым исходным кодом.
За rpc.gonka.gg находится пул наших пользовательских узлов RPC под названием Feather.
Feather — это легкая полнофункциональная нода RPC для Gonka. Он запускает полный узел цепочки (цепочка + REST + API) без узла ML и добавляет поверх него слой аналитики и индексации на базе ClickHouse. И он построен на основе выведенного узла, поэтому применять новые функции из выведенного узла довольно просто.
Что делает Перо:
- Полная поверхность RPC — каждая конечная точка, которую предоставляет реальный участник Gonka, объединена одним портом шлюза.
- Интеллектуальное кеширование — неизменяемые данные (исторические блоки, завершенные транзакции) кэшируются на 24 часа. Живое состояние обновляется каждые 1–3 секунды. Ваше приложение работает мгновенно, не предоставляя устаревшие данные.
Индексатор ClickHouse — каждый блок, транзакция и событие индексируются для аналитических запросов
- Расширенный аналитический API — поиск tx по отправителю/типу/диапазону времени, использование токенов по модели, статистика разработчиков, сводки эпох
- P2P-узел — синхронизируется напрямую с узлами основной сети Gonka, полностью самостоятелен.
- Встроенная панель мониторинга — мониторинг в реальном времени состояния синхронизации, узлов, конечных точек, прогресса индексатора и трафика.
- Написано на Go — небольшой размер, быстрый запуск, развертывание на базе Docker.
Кроме того, Feather предоставляет доступ к инструментам CometBFT и многому другому, мы подробно остановимся на этом продукте в следующем посте.
Следуя нашей стратегии открытого исходного кода, мы будем открывать исходный код узла Feather для всех, кто захочет запустить его на своих серверах. Мы упомянули об этом во время недавней конференции AMA — Feather будет опубликован на github.com/gonkalabs (https://github.com/gonkalabs) вместе с другими нашими проектами с открытым исходным кодом. Кроме того, мы опубликуем об этом новую подробную статью!
rpc.gonka.gg — уровень шлюза
Поверх пула Feather находится наш общедоступный уровень службы RPC — общедоступный шлюз, который добавляет:
Аутентификация ключей API и ограничение скорости
Отслеживание использования каждого ключа и ежемесячные квоты
Обработка CORS для браузерных приложений
- Аутентификация ключа API на основе пути для инструментов CLI, которые не могут устанавливать пользовательские заголовки HTTP
- Конечные точки /api/ch/* с быстрой индексацией (запросы ClickHouse для транзакций, блоков, адресов, косой черты, оборудования, эпох)
- Портал разработчиков, сайт документации, страницы мониторинга работоспособности и цен.
Вместе слой Feather + rpc-service образует полный стек — все, что находится между вашим приложением и блокчейном Gonka.
tx-scanner — основа индексации
Данные ClickHouse, находящиеся в /api/ch/*, заполняются tx-scanner (https://github.com/gonkalabs/tx-scanner) (с открытым исходным кодом, Go). Вместо того, чтобы полагаться на стандартный (и заведомо ненадежный) RPC Cosmos tx_search, tx-scanner напрямую считывает Block_results. Он сканирует в двух направлениях: вперед в поисках новых блоков и назад для одновременного заполнения исторических данных, используя настраиваемый пул одновременных рабочих процессов для параллельной обработки блоков и пакетные вставки ClickHouse для максимальной пропускной способности записи.
Результат: миллиарды событий и сотни миллионов транзакций, проиндексированных и доступных для запроса за миллисекунды. Тот же индексатор поддерживает gonka.gg (https://gonka.gg) — когда вы вызываете /api/ch/address/gonka1... на rpc.gonka.gg, вы запрашиваете этот полный набор данных.
tx-scanner разработан для Gonka, но совместим с любой цепочкой на базе CometBFT. Источник: github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Начало работы
Шаг 1. Перейдите на rpc.gonka.gg/access (https://rpc.gonka.gg/access) и зарегистрируйтесь. Ваш бесплатный ключ API готов мгновенно.
Шаг 2. Используйте свой ключ в запросах:
# Аутентификация на основе заголовка (для приложений, скриптов, CosmJS) Curl -H " X-Api-Key: YOUR_KEY " https://rpc.gonka.gg/chain-rpc/status # Аутентификация на основе пути (для выводимого интерфейса командной строки и инструментов, которые не могут устанавливать заголовки) Curl https://rpc.gonka.gg/key/YOUR_KEY/chain-rpc/status # Быстрый индексированный запрос — получение транзакций кошелька за миллисекунды curl -H "X-Api-Key: YOUR_KEY" https://rpc.gonka.gg/api/ch/address/gonka1... ? лимит=20
Шаг 3. Вот и все. Замените URL-адрес узла и начните сборку.
Работает с выведенным CLI
Официальный интерфейс командной строки блокчейна Gonka подключается напрямую к rpc.gonka.gg. Никаких специальных заголовков не требуется — ключ встроен в URL-путь:
# Проверка статуса узла, выведенный статус --node https://rpc.gonka.gg/key/YOUR_KEY/ # Запрос баланса, выведенный запрос баланса банка gonka1... --node https://rpc.gonka.gg/key/YOUR_KEY/ # Отправка токенов, выведенный tx Bank, send mywallet gonka1... 1000ngonka \ --node https://rpc.gonka.gg/key/YOUR_KEY/ \ --chain-id gonka-mainnet --yes
Полная поддержка JSON-RPC POST — команды status, query, tx работают «из коробки».
Работает с агентами ИИ
Направьте свой ИИ-агент на https://rpc.gonka.gg/llms.txt, и он автоматически обнаружит все доступные конечные точки. Мы также предоставляем структурированный JSON в /api/endpoints и подробную ссылку в /llms-full.txt. Существует специальная страница, объясняющая интеграцию: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents).
Примечание о gonka.gg
Весь обозреватель gonka.gg и его службы общаются НАПРЯМУЮ с rpc.gonka.gg под капотом. Наш бэкэнд explorers был полностью переработан и теперь напрямую взаимодействует с rpc.gonka.gg, не затрагивая узлы RPC генезиса (node1, node2 и т. д.) под одним унифицированным ключом API:
Документация
Мы подготовили документацию для более чем 400 методов API, идентичных узлам Genesis, а также дополнительные быстрые индексированные конечные точки /api/ch/*. Каждая конечная точка указана с указанием метода HTTP, пути, описания и параметров.
Полная документация: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints).
Также есть специальный раздел для ИИ-агентов на rpc.gonka.gg/agents (https://rpc.gonka.gg/agents) — просто дайте ссылку на свой ИИ, и он научится использовать Gonka.
Что это значит для разработчиков
До появления rpc.gonka.gg создание на Gonka означало либо использование общих узлов генезиса (может быть медленным из-за высокого спроса), либо настройку собственного полного узла (часы/дни синхронизации, постоянное обслуживание, несколько портов для управления).
Теперь существует управляемый сервис, специально созданный для Gonka. Один URL-адрес, один ключ API, более 400 конечных точек и индексированные данные, которые возвращаются за миллисекунды, а не секунды.
Если вы создаете dApp, бота, инструмент мониторинга, проводник, интеграцию кошелька или что-то еще, что взаимодействует с блокчейном Gonka — это самый быстрый способ добиться этого.
P.S:
Мы будем постоянно следить за отзывами и исправлять, обновлять код. В случае каких-либо проблем - пишите в наш чат ТГ (gonka_gg)
Ссылки
Сервис: rpc.gonka.gg (https://rpc.gonka.gg)
Документация: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints) (более 400 конечных точек)
Портал разработчика: rpc.gonka.gg/access (https://rpc.gonka.gg/access)
Документация по агентам ИИ: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents)
Монитор здоровья: rpc.gonka.gg/health (https://rpc.gonka.gg/health)
tx-scanner (с открытым исходным кодом): github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Предыдущие публикации Gonka Labs
- Gonka Contract Playground — напишите, скомпилируйте, смоделируйте и разверните CosmWasm, не выходя из браузера (https://github.com/gonka-ai/gonka/discussions/989)
- GG Wallet — браузерный кошелек с открытым исходным кодом специально для Gonka (https://github.com/gonka-ai/gonka/discussions/938)
Служба имен Gonka (GNS) — удобочитаемые имена для сети Gonka (https://github.com/gonka-ai/gonka/discussions/898)
OpenGNK — локальный OpenAI-совместимый прокси-сервер для Gonka (https://github.com/gonka-ai/gonka/discussions/890)
- Gonka.gg — Explorer, аналитическая платформа, поставщик данных для Gonka (https://github.com/gonka-ai/gonka/discussions/887)
Gonka Labs: как мы строим инфраструктуру для Gonka (https://github.com/gonka-ai/gonka/discussions/880)
О нас: gonkalabs.com (https://gonkalabs.com) | Проводник: gonka.gg (https://gonka.gg) | GitHub: github.com/gonkalabs (https://github.com/gonkalabs)

Two days ago we sped up gonka.gg (https://gonka.gg) by 100x.
Today we are making the technology behind that speedup available to everyone.
Meet rpc.gonka.gg (https://rpc.gonka.gg) - managed RPC infrastructure for the Gonka blockchain, built by Gonka Labs (https://gonkalabs.com) .
We give developers reliable, authenticated API access to the entire Gonka blockchain through a single URL - no need to run your own nodes. The service acts as a bridge for applications (dApps, wallets, exchanges, bots, AI agents) to interact with the network: send transactions, read any data, query indexed history, and more.
This is Infura / Alchemy, but for Gonka.
Live now: rpc.gonka.gg (https://rpc.gonka.gg)
Why we built this
When we were developing gonka.gg (https://gonka.gg) , we hit the same wall every Gonka developer hits (and developers dm'ed us numerous times, asking if we can help solve the issues): the genesis RPC nodes are shared, sometimes slow under load, and running your own full node is a project in itself - hours/days of syncing, multiple ports, ongoing maintenance: not everyone wants to tackle all of that.
We needed something fast, with smart caching, with indexed data. So we built it for ourselves (gonka.gg explorer) and developers struggling with the same issues, so - virtually for everyone interested in building on Gonka. gonka.gg switched to rpc.gonka.gg as its data-backend, and the results were immediate: wallet transaction history pages went from 15+ seconds to under 1 second. Once we saw the difference, the natural next step was to open it up so every developer in the ecosystem gets the same infrastructure.
What you get
Fast indexed data - /api/ch/*
This is one of the most important things rpc.gonka.gg offers, and the main reason gonka.gg got 100x faster.
Standard Cosmos RPC was not designed for analytical queries. Want a wallet's transaction history? You call tx_search , which is notoriously slow and unreliable on busy nodes. Want all transactions in a block? Multiple calls. Want slashing events across the network? Good luck.
rpc.gonka.gg solves this with a set of pre-built, ClickHouse-backed endpoints under /api/ch/* . These are not proxied RPC calls - they hit our hosted tx-scanner (https://github.com/gonkalabs/tx-scanner) ClickHouse instance directly, where billions of events and hundreds of millions of transactions have been indexed (we have data since Genesis Block and constantly updating - when new block is generated, it is immidiately ingested). The same dataset that powers gonka.gg (https://gonka.gg) .
The results are 4 to 110 times faster than the equivalent traditional RPC queries on genesis nodes:
These endpoints return clean JSON. No parsing Cosmos SDK protobuf responses, no chasing pagination cursors across multiple RPC calls. The data is pre-indexed, pre-joined, and served from ClickHouse columnar storage optimized for exactly these access patterns.
When gonka.gg was loading a wallet's transaction list via standard tx_search RPC, it took 15+ seconds per page (and sometimes even then failed at timeout). After switching to /api/ch/address/{addr} , the same page loads in under 1 second. This is the same speedup every developer building on Gonka now gets access to through rpc.gonka.gg.
How it works
Feather - our custom Opensource RPC node
Behind rpc.gonka.gg is a pool of our custom RPC nodes called Feather .
Feather is a light full-RPC node for Gonka. It runs the complete chain node (chain + REST + API) without the ML node, and adds a ClickHouse-backed analytics and indexing layer on top. And, it is built around inferenced, so applying new features from inferenced node is pretty straightforward.
What Feather does:
Full RPC surface - every endpoint a real Gonka participant exposes, unified behind a single gateway port
- Intelligent caching - immutable data (historical blocks, finalized transactions) cached for 24 hours. Live state refreshes every 1-3 seconds. Your app feels instant without serving stale data
ClickHouse indexer - every block, transaction, and event indexed for analytical queries
Enhanced analytics API - tx search by sender/type/time range, token usage by model, developer stats, epoch summaries
P2P node - syncs directly from Gonka mainnet peers, fully self-sovereign
Built-in dashboard - real-time monitoring of sync status, peers, endpoints, indexer progress, and traffic
Written in Go - small footprint, fast startup, Docker-based deployment
Also, Feather gives access to cometBFT instrumentation and much more, we will go indepth on that product in the later post.
Following our open source strategy, we will be open-sourcing the Feather node code for anyone who wants to run it on their own servers. We mentioned this during the recent AMA - Feather will be published at github.com/gonkalabs (https://github.com/gonkalabs) alongside our other open source projects. In addition, we will post a new indepth article about it!
rpc.gonka.gg - the gateway layer
On top of the Feather pool sits our public rpc service layer - the public-facing gateway that adds:
API key authentication and rate limiting
Per-key usage tracking and monthly quotas
CORS handling for browser-based apps
Path-based API key auth for CLI tools that cannot set custom HTTP headers
- The /api/ch/* fast indexed endpoints (ClickHouse queries for transactions, blocks, addresses, slashing, hardware, epochs)
The developer portal, documentation site, health monitoring, and pricing pages
Together, Feather + rpc-service layer form the complete stack - everything between your app and the Gonka blockchain.
tx-scanner - the indexing backbone
The ClickHouse data behind /api/ch/* is populated by tx-scanner (https://github.com/gonkalabs/tx-scanner) (open source, Go). Rather than relying on the standard (and notoriously unreliable) Cosmos tx_search RPC, tx-scanner reads block_results directly. It scans bidirectionally: forward for new blocks and backward to fill historical data simultaneously, using a configurable concurrent worker pool for parallel block processing and batch ClickHouse inserts for maximum write throughput.
The result: billions of events and hundreds of millions of transactions indexed and queryable in milliseconds. The same indexer powers gonka.gg (https://gonka.gg) - when you call /api/ch/address/gonka1... on rpc.gonka.gg, you are querying that full dataset.
tx-scanner is designed for Gonka but compatible with any CometBFT-based chain. Source: github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Getting started
Step 1. Go to rpc.gonka.gg/access (https://rpc.gonka.gg/access) and sign up. Your free API key is ready instantly.
Step 2. Use your key in requests:
# Header-based auth (for apps, scripts, CosmJS) curl -H " X-Api-Key: YOUR_KEY " https://rpc.gonka.gg/chain-rpc/status # Path-based auth (for inferenced CLI and tools that cannot set headers) curl https://rpc.gonka.gg/key/YOUR_KEY/chain-rpc/status # Fast indexed query - get a wallet's transactions in milliseconds curl -H " X-Api-Key: YOUR_KEY " https://rpc.gonka.gg/api/ch/address/gonka1... ? limit=20
Step 3. That is it. Replace your node URL and start building.
Works with inferenced CLI
The official Gonka blockchain CLI connects directly to rpc.gonka.gg. No custom headers needed - the key is embedded in the URL path:
# Check node status inferenced status --node https://rpc.gonka.gg/key/YOUR_KEY/ # Query balances inferenced query bank balances gonka1... --node https://rpc.gonka.gg/key/YOUR_KEY/ # Send tokens inferenced tx bank send mywallet gonka1... 1000ngonka \ --node https://rpc.gonka.gg/key/YOUR_KEY/ \ --chain-id gonka-mainnet --yes
Full JSON-RPC POST support - status , query , tx commands all work out of the box.
Works with AI agents
Point your AI agent at https://rpc.gonka.gg/llms.txt and it will discover all available endpoints automatically. We also serve structured JSON at /api/endpoints and a detailed reference at /llms-full.txt . There is a dedicated page explaining the integration: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents) .
Note about gonka.gg
The whole gonka.gg explorer and its services talk DIRECTLY to rpc.gonka.gg under the hood. Our exploreres backend was fully redisigned and now talks to rpc.gonka.gg directly without hitting genesis RPC nodes (node1, node2, etc) under one unified API key:
Documentation
We prepared documentation for all 400+ API methods - identical to genesis nodes, plus the additional /api/ch/* fast indexed endpoints. Every endpoint is listed with its HTTP method, path, description, and parameters.
Full docs: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints)
There is also a dedicated section for AI agents at rpc.gonka.gg/agents (https://rpc.gonka.gg/agents) - just give the link to your AI and it will learn how to use Gonka.
What this means for developers
Before rpc.gonka.gg, building on Gonka meant either using the shared genesis nodes (may be slow due to high demand) or setting up your own full node (hours/days of syncing, ongoing maintenance, multiple ports to manage).
Now there is a managed service purpose-built for Gonka. One URL, one API key, 400+ endpoints, and indexed data that returns in milliseconds instead of seconds.
If you are building a dApp, a bot, a monitoring tool, an explorer, a wallet integration, or anything that talks to the Gonka blockchain - this is the fastest way to get there.
P.S:
We will be constantly monitoring the feedback and fix, upgrade the code. In case of any issue - feel free to write in our TG chat (gonka_gg)
Links
Service: rpc.gonka.gg (https://rpc.gonka.gg)
Documentation: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints) (400+ endpoints)
Developer portal: rpc.gonka.gg/access (https://rpc.gonka.gg/access)
AI agent docs: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents)
Health monitor: rpc.gonka.gg/health (https://rpc.gonka.gg/health)
tx-scanner (open source): github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Previous Gonka Labs posts
- Gonka Contract Playground - write, compile, simulate, and deploy CosmWasm without leaving the browser (https://github.com/gonka-ai/gonka/discussions/989)
GG Wallet - An Open-Source Browser Wallet strictly for Gonka (https://github.com/gonka-ai/gonka/discussions/938)
- Gonka Name Service (GNS) - Human Readable names for the Gonka Network (https://github.com/gonka-ai/gonka/discussions/898)
OpenGNK - A Local OpenAI-Compatible Proxy for Gonka (https://github.com/gonka-ai/gonka/discussions/890)
Gonka.gg - Explorer, Analytics Platform, Data Provider for Gonka (https://github.com/gonka-ai/gonka/discussions/887)
Gonka Labs: How We're Building the Infrastructure for Gonka (https://github.com/gonka-ai/gonka/discussions/880)
About us: gonkalabs.com (https://gonkalabs.com) | Explorer: gonka.gg (https://gonka.gg) | GitHub: github.com/gonkalabs (https://github.com/gonkalabs)
Два дня назад мы ускорили работу gonka.gg (https://gonka.gg) в 100 раз.
Сегодня мы делаем технологию, лежащую в основе этого ускорения, доступной каждому.
Встречайте rpc.gonka.gg (https://rpc.gonka.gg) — управляемую RPC-инфраструктуру для блокчейна Gonka, созданную Gonka Labs (https://gonkalabs.com).
Мы предоставляем разработчикам надежный, аутентифицированный доступ API ко всей цепочке блоков Gonka через один URL-адрес — нет необходимости запускать собственные узлы. Сервис действует как мост для приложений (dApps, кошельков, бирж, ботов, агентов искусственного интеллекта) для взаимодействия с сетью: отправки транзакций, чтения любых данных, запроса индексированной истории и многого другого.
Это Инфура/Алхимия, но для Гонки.
Прямой эфир: rpc.gonka.gg (https://rpc.gonka.gg)
Почему мы построили это
Когда мы разрабатывали gonka.gg (https://gonka.gg), мы столкнулись с той же самой стеной, с которой сталкивается каждый разработчик Gonka (и разработчики неоднократно писали нам, спрашивая, можем ли мы помочь решить проблемы): узлы Genesis RPC являются общими, иногда медленными под нагрузкой, а запуск собственного полного узла — это проект сам по себе — часы/дни синхронизации, несколько портов, постоянное обслуживание: не каждый хочет решать все это.
Нам нужно было что-то быстрое, с умным кэшированием, с индексированными данными. Таким образом, мы создали его для себя (gonka.gg explorer) и разработчиков, страдающих от тех же проблем, а значит - практически для всех, кто заинтересован в сборке на Gonka. gonka.gg переключился на rpc.gonka.gg в качестве сервера обработки данных, и результаты были немедленными: страницы истории транзакций кошелька сократились с 15+ секунд до менее 1 секунды. Как только мы увидели разницу, естественным следующим шагом было открыть ее, чтобы каждый разработчик в экосистеме получил одинаковую инфраструктуру.
Что вы получаете
Быстрые индексированные данные — /api/ch/*
Это одна из самых важных вещей, которые предлагает rpc.gonka.gg, и главная причина, по которой gonka.gg стал работать в 100 раз быстрее.
Стандартный Cosmos RPC не предназначен для аналитических запросов. Хотите историю транзакций кошелька? Вы вызываете tx_search, который, как известно, медленный и ненадежный на занятых узлах. Хотите, чтобы все транзакции были в блоке? Множественные звонки. Хотите сократить количество событий в сети? Удачи.
rpc.gonka.gg решает эту проблему с помощью набора предварительно созданных конечных точек, поддерживаемых ClickHouse, в /api/ch/* . Это не прокси-вызовы RPC — они напрямую обращаются к нашему размещенному tx-сканеру (https://github.com/gonkalabs/tx-scanner) экземпляру ClickHouse, где были проиндексированы миллиарды событий и сотни миллионов транзакций (у нас есть данные, начиная с Genesis Block, и они постоянно обновляются — когда генерируется новый блок, он немедленно принимается). Тот же набор данных, который поддерживает gonka.gg (https://gonka.gg).
Результаты получаются в 4–110 раз быстрее, чем эквивалентные традиционные запросы RPC на узлах генезиса:
Эти конечные точки возвращают чистый JSON. Никакого анализа ответов protobuf Cosmos SDK, никакой погони за курсорами разбиения на страницы по нескольким вызовам RPC. Данные предварительно индексируются, предварительно объединяются и обслуживаются из столбчатого хранилища ClickHouse, оптимизированного именно для этих шаблонов доступа.
Когда gonka.gg загружал список транзакций кошелька через стандартный RPC tx_search, это занимало более 15 секунд на страницу (и иногда даже тогда происходил сбой по таймауту). После переключения на /api/ch/address/{addr} та же страница загружается менее чем за 1 секунду. Это то же самое ускорение, к которому каждый разработчик, создающий Gonka, теперь получает доступ через rpc.gonka.gg.
Как это работает
Feather — наш собственный узел RPC с открытым исходным кодом.
За rpc.gonka.gg находится пул наших пользовательских узлов RPC под названием Feather.
Feather — это легкая полнофункциональная нода RPC для Gonka. Он запускает полный узел цепочки (цепочка + REST + API) без узла ML и добавляет поверх него слой аналитики и индексации на базе ClickHouse. И он построен на основе выведенного узла, поэтому применять новые функции из выведенного узла довольно просто.
Что делает Перо:
Индексатор ClickHouse — каждый блок, транзакция и событие индексируются для аналитических запросов
Кроме того, Feather предоставляет доступ к инструментам CometBFT и многому другому, мы подробно остановимся на этом продукте в следующем посте.
Следуя нашей стратегии открытого исходного кода, мы будем открывать исходный код узла Feather для всех, кто захочет запустить его на своих серверах. Мы упомянули об этом во время недавней конференции AMA — Feather будет опубликован на github.com/gonkalabs (https://github.com/gonkalabs) вместе с другими нашими проектами с открытым исходным кодом. Кроме того, мы опубликуем об этом новую подробную статью!
rpc.gonka.gg — уровень шлюза
Поверх пула Feather находится наш общедоступный уровень службы RPC — общедоступный шлюз, который добавляет:
Аутентификация ключей API и ограничение скорости
Отслеживание использования каждого ключа и ежемесячные квоты
Обработка CORS для браузерных приложений
Вместе слой Feather + rpc-service образует полный стек — все, что находится между вашим приложением и блокчейном Gonka.
tx-scanner — основа индексации
Данные ClickHouse, находящиеся в /api/ch/*, заполняются tx-scanner (https://github.com/gonkalabs/tx-scanner) (с открытым исходным кодом, Go). Вместо того, чтобы полагаться на стандартный (и заведомо ненадежный) RPC Cosmos tx_search, tx-scanner напрямую считывает Block_results. Он сканирует в двух направлениях: вперед в поисках новых блоков и назад для одновременного заполнения исторических данных, используя настраиваемый пул одновременных рабочих процессов для параллельной обработки блоков и пакетные вставки ClickHouse для максимальной пропускной способности записи.
Результат: миллиарды событий и сотни миллионов транзакций, проиндексированных и доступных для запроса за миллисекунды. Тот же индексатор поддерживает gonka.gg (https://gonka.gg) — когда вы вызываете /api/ch/address/gonka1... на rpc.gonka.gg, вы запрашиваете этот полный набор данных.
tx-scanner разработан для Gonka, но совместим с любой цепочкой на базе CometBFT. Источник: github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Начало работы
Шаг 1. Перейдите на rpc.gonka.gg/access (https://rpc.gonka.gg/access) и зарегистрируйтесь. Ваш бесплатный ключ API готов мгновенно.
Шаг 2. Используйте свой ключ в запросах:
# Аутентификация на основе заголовка (для приложений, скриптов, CosmJS) Curl -H " X-Api-Key: YOUR_KEY " https://rpc.gonka.gg/chain-rpc/status # Аутентификация на основе пути (для выводимого интерфейса командной строки и инструментов, которые не могут устанавливать заголовки) Curl https://rpc.gonka.gg/key/YOUR_KEY/chain-rpc/status # Быстрый индексированный запрос — получение транзакций кошелька за миллисекунды curl -H "X-Api-Key: YOUR_KEY" https://rpc.gonka.gg/api/ch/address/gonka1... ? лимит=20Шаг 3. Вот и все. Замените URL-адрес узла и начните сборку.
Работает с выведенным CLI
Официальный интерфейс командной строки блокчейна Gonka подключается напрямую к rpc.gonka.gg. Никаких специальных заголовков не требуется — ключ встроен в URL-путь:
Полная поддержка JSON-RPC POST — команды status, query, tx работают «из коробки».
Работает с агентами ИИ
Направьте свой ИИ-агент на https://rpc.gonka.gg/llms.txt, и он автоматически обнаружит все доступные конечные точки. Мы также предоставляем структурированный JSON в /api/endpoints и подробную ссылку в /llms-full.txt. Существует специальная страница, объясняющая интеграцию: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents).
Примечание о gonka.gg
Весь обозреватель gonka.gg и его службы общаются НАПРЯМУЮ с rpc.gonka.gg под капотом. Наш бэкэнд explorers был полностью переработан и теперь напрямую взаимодействует с rpc.gonka.gg, не затрагивая узлы RPC генезиса (node1, node2 и т. д.) под одним унифицированным ключом API:
Документация
Мы подготовили документацию для более чем 400 методов API, идентичных узлам Genesis, а также дополнительные быстрые индексированные конечные точки /api/ch/*. Каждая конечная точка указана с указанием метода HTTP, пути, описания и параметров.
Полная документация: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints).
Также есть специальный раздел для ИИ-агентов на rpc.gonka.gg/agents (https://rpc.gonka.gg/agents) — просто дайте ссылку на свой ИИ, и он научится использовать Gonka.
Что это значит для разработчиков
До появления rpc.gonka.gg создание на Gonka означало либо использование общих узлов генезиса (может быть медленным из-за высокого спроса), либо настройку собственного полного узла (часы/дни синхронизации, постоянное обслуживание, несколько портов для управления).
Теперь существует управляемый сервис, специально созданный для Gonka. Один URL-адрес, один ключ API, более 400 конечных точек и индексированные данные, которые возвращаются за миллисекунды, а не секунды.
Если вы создаете dApp, бота, инструмент мониторинга, проводник, интеграцию кошелька или что-то еще, что взаимодействует с блокчейном Gonka — это самый быстрый способ добиться этого.
P.S:
Мы будем постоянно следить за отзывами и исправлять, обновлять код. В случае каких-либо проблем - пишите в наш чат ТГ (gonka_gg)
Ссылки
Сервис: rpc.gonka.gg (https://rpc.gonka.gg)
Документация: rpc.gonka.gg/endpoints (https://rpc.gonka.gg/endpoints) (более 400 конечных точек)
Портал разработчика: rpc.gonka.gg/access (https://rpc.gonka.gg/access)
Документация по агентам ИИ: rpc.gonka.gg/agents (https://rpc.gonka.gg/agents)
Монитор здоровья: rpc.gonka.gg/health (https://rpc.gonka.gg/health)
tx-scanner (с открытым исходным кодом): github.com/gonkalabs/tx-scanner (https://github.com/gonkalabs/tx-scanner)
Предыдущие публикации Gonka Labs
Служба имен Gonka (GNS) — удобочитаемые имена для сети Gonka (https://github.com/gonka-ai/gonka/discussions/898)
OpenGNK — локальный OpenAI-совместимый прокси-сервер для Gonka (https://github.com/gonka-ai/gonka/discussions/890)
Gonka Labs: как мы строим инфраструктуру для Gonka (https://github.com/gonka-ai/gonka/discussions/880)
О нас: gonkalabs.com (https://gonkalabs.com) | Проводник: gonka.gg (https://gonka.gg) | GitHub: github.com/gonkalabs (https://github.com/gonkalabs)