НОВОЕ: Helius приобретает Light Protocol
как работают Solana RPC
Блог/Основы

Всё, что нужно знать о Solana RPC (2023)

Сооснователь и CEOMert Mumtaz в XMert Mumtaz в LinkedIn
Чтение: 5 мин

Введение

RPC играют ключевую роль во взаимодействии децентрализованных приложений с блокчейн-сетями. Поэтому разобраться в них необходимо каждому, кто работает в этой быстро развивающейся сфере. Независимо от того, сосредоточены ли вы на Solana или других блокчейн-платформах, это руководство поможет понять роль RPC как в традиционных, так и в блокчейн-средах.

Значение RPC: что означает RPC?

В криптоиндустрии все необходимые данные находятся в блокчейне. Доступ к ним не требует разрешения: любой может просматривать и использовать их. Но как получить эти данные? С помощью RPC.

Хотя технически RPC расшифровывается как Remote Procedure Call — удалённый вызов процедур, — этим сокращением часто называют RPC-ноды. Такие ноды участвуют в работе блокчейн-сети и предоставляют методы, называемые удалёнными вызовами процедур, к которым могут обращаться разработчики.

RPC и API

В традиционной разработке ПО (web2) необходимые данные обычно получают через API. Например, можно использовать API Stripe для работы с платёжными данными, Twilio — с данными SMS, Bloomberg — с финансовыми данными, Plaid — с банковскими данными и так далее.

Важно отметить, что нужные вам данные часто сосредоточены у централизованных организаций или контролируются ими.

Здесь в дело вступают RPC. Они обеспечивают эффективный доступ к открытым данным без внешнего поставщика. Вы получаете эти данные напрямую из реестра с помощью запроса.

Традиционные RPC и RPC в блокчейне и криптоиндустрии

И в традиционных, и в блокчейн-средах RPC служат средством получения данных, но на этом сходство часто заканчивается. Традиционные RPC работают через различные протоколы и взаимодействуют с централизованными базами данных, поэтому для подтверждения целостности данных приходится доверять одной организации. Блокчейн-RPC, напротив, обычно используют HTTP с JSON-RPC, получают данные из децентрализованных сетей и обеспечивают более высокий уровень безопасности благодаря проверке данных несколькими нодами. Традиционные RPC могут ограничивать доступ к данным, тогда как блокчейн-RPC обычно предоставляют открытые общедоступные данные. Кроме того, блокчейн-RPC, особенно в таких сетях, как Solana, оптимизированы для высокой скорости и пропускной способности, чтобы соответствовать требованиям децентрализованных приложений к работе в реальном времени. Понимание этих ключевых различий поможет вам эффективнее работать с RPC в блокчейн-экосистеме.

Solana RPC

RPC основной сети Solana

Чтобы получить данные из кластера Mainnet Beta блокчейна Solana, необходимо отправить JSON-RPC-запрос RPC-ноде, участвующей в работе сети.

Типичный JSON-RPC-запрос может выглядеть так:

Код
curl  -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-ноде по адресу https://api.mainnet-beta.solana.com и вызывает RPC-метод getBlock. Нода понимает, что делать с этим запросом, поскольку на ней запущен программный клиент блокчейна Solana.

На практике почти никто не работает с прямыми JSON-RPC-запросами такого вида, хотя это вполне возможно. Большинство разработчиков предпочитают RPC-клиенты. Чаще всего используют библиотеку Solana Web3 JS, доступную здесь. Полный список доступных в Solana методов JSON-RPC приведён в официальной документации.

RPC тестовой сети Solana Devnet

Также можно получить доступ к кластеру Devnet сети Solana через Devnet RPC. Для тестирования Solana предоставляет RPC по адресу https://api.devnet.solana.com.

В этом случае RPC-запрос будет выглядеть так:

Код
 curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -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 } ] }

Меняется только кластер. Если в Devnet нет транзакций или информации для запрашиваемого аккаунта, может потребоваться указать другой аккаунт. Это связано с тем, что кластер Devnet не использует общую историю с Mainnet Beta.

Ethereum RPC и Solana RPC

Для работы Solana требуется распределённая сеть нод, на которых запущены её программные клиенты.

Эти ноды можно разделить на два типа: валидаторы и RPC-ноды.

У обоих типов нод есть одна важная общая черта: они непрерывно отслеживают блокчейн и хранят его актуальные данные, или состояние.

Однако между ними есть одно ключевое различие.

Валидаторы — это ноды, которые голосуют, например: «Да, этот блок действителен», и участвуют в достижении консенсуса.

RPC-ноды не голосуют, а обрабатывают запросы для работы с ончейн-данными. Такая конфигурация редко встречается в других блокчейнах, например Ethereum, где валидатор и RPC-нода часто представляют собой одну и ту же ноду.

Отправляя RPC-вызов, вы вызываете процедуру или функцию на ноде, которая участвует в работе блокчейна. Поскольку нода является частью сети, она располагает актуальными данными и может предоставить их по запросу.

Helius: поставщик Solana RPC

Helius предоставляет высококлассный доступ к RPC с множеством преимуществ для разработчиков в Solana.

Helius RPC работают на самом производительном оборудовании, поэтому ваше приложение будет стабильно работать с максимальной эффективностью и без лишних проблем. Мы гордимся лучшей круглосуточной поддержкой разработчиков в экосистеме. Если в вашей системе возникнет непредвиденная проблема или появится вопрос о будущей функции, мы сразу придём на помощь.

Solana RPC: как начать работу с Helius

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

Команда Helius состоит из инженеров, которые специализируются на Solana. Наша цель — предоставить разработчикам любого уровня максимально удобную работу с RPC. Вы можете начать бесплатно всего за два клика, без регистрации по электронной почте и банковской карты.

Это было краткое и понятное новичкам введение в Solana RPC. Вероятно, многое из этого вы уже знали. Далее мы поговорим об оптимизации RPC, особенностях их использования и более сложных темах. Спасибо за внимание!

Подпишитесь на Helius

Следите за новостями разработки на Solana и получайте уведомления о наших публикациях

Увеличенное изображение