
Как работают RPC Solana
Что такое RPC в криптоиндустрии?
В традиционной разработке программного обеспечения (web2) нужные данные обычно получают через API. Например, можно использовать API Stripe для работы с платежными данными, Twilio — с данными SMS, Bloomberg — с финансовыми данными, Plaid — с банковскими данными и так далее.
Важно отметить, что нужные вам данные часто сосредоточены у централизованных организаций или контролируются ими.
В криптоиндустрии все необходимые данные находятся ончейн. Они полностью открыты, и любой может просматривать их и работать с ними без разрешения. Как же их получить? С помощью RPC.
RPC технически расшифровывается как Remote Procedure Calls, но этот термин часто используют как сокращенное название RPC-нод. Эти ноды участвуют в работе блокчейн-сети и предоставляют методы, называемые удаленными вызовами процедур, которые могут вызывать разработчики.
Как работают RPC в Solana?
Для работы Solana необходима распределенная сеть нод, на которых запущены ее программные клиенты.
Эти ноды можно разделить на два типа: валидаторы и RPC-ноды.
У обоих типов нод есть важная общая черта: они непрерывно отслеживают блокчейн и хранят его актуальные данные, или состояние.
Однако между ними есть одно ключевое различие.
Валидаторы — это ноды, которые голосуют (например: «да, этот блок действителен») и участвуют в консенсусе.
RPC-ноды не голосуют, а обрабатывают запросы для работы с ончейн-данными.
Такая конфигурация редко встречается в других блокчейнах, например Ethereum, где валидатор и RPC-нода часто представляют собой одну и ту же ноду.
Когда вы выполняете RPC-вызов, вы вызываете процедуру или функцию на ноде, участвующей в работе блокчейна. Поскольку эта нода является частью сети, она располагает актуальными данными и может предоставить их по запросу.
Как работать с RPC Solana
Чтобы получить данные из блокчейна Solana, необходимо отправить JSON-RPC-запрос RPC-ноде, участвующей в работе сети.
Типичный JSON-RPC-запрос может выглядеть так:
curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d ' { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }Этот запрос обращается к RPC-ноде по адресу localhost:8899 и вызывает RPC-метод getBlock. Нода знает, как обработать запрос, поскольку на ней запущен программный клиент блокчейна Solana.
На практике почти никто не работает с прямыми JSON-RPC-запросами такого вида, хотя это вполне возможно. Большинство разработчиков предпочитают RPC-клиенты. Чаще всего используют библиотеку Solana Web3 JS, доступную здесь. Полный список методов JSON-RPC, доступных в Solana, приведен в нашей документации.
Как начать работу с RPC
RPC крайне важны: без них работать с блокчейном невозможно. Поэтому некоторые компании специализируются на совершенствовании работы с RPC. Эти машины используются очень интенсивно, и критически важно, чтобы они сохраняли высокую производительность под большой нагрузкой. Хороший RPC-провайдер обеспечивает надежность и стабильную производительность, а также предоставляет метрики, по которым пользователи могут отслеживать динамику использования.
Команда Helius состоит из инженеров, специализирующихся на Solana. Наша цель — предоставить разработчикам любого уровня наилучшие условия для работы с RPC.
Вы можете начать бесплатно всего в два клика, без регистрации по электронной почте и банковской карты, здесь.
Это было очень краткое и понятное начинающим введение в RPC Solana. Вероятно, многое из этого вы уже знали. Далее мы расскажем об оптимизации RPC, важных нюансах и более сложных темах. Спасибо за внимание!
Похожие статьи
Подпишитесь на Helius
Следите за новостями разработки на Solana и получайте уведомления о наших публикациях


