Мост, соединяющий приложения и цепочки Web3

Новичок9/28/2023, 1:58:37 AM
Почему мы должны заполнять RPC при добавлении сети на MetaMask? Почему ни одна разработка Dapp не может обойтись без RPC? Как некоторые могут использовать RPC для опережающих сделок? Какие провайдеры предлагают услуги RPC? Эта статья отвечает на все Ваши вопросы о RPC.

Что такое RPC?

Многие сталкиваются с термином RPC при ручном добавлении сетевого RPC в таких кошельках, как MetaMask. Тем не менее, RPC является незаменимой основополагающей технологией для таких блокчейн-приложений, как Dapps, Wallets и CEXs. RPC расшифровывается как "Remote Procedure Call". В Web2 RPC - это техника коммуникации, которая позволяет одному компьютеру вызывать и выполнять программу на другом. Посредством RPC вызывающей стороне нужно передать только имя сервиса и параметры для связи, что является широкой концепцией. В контексте блокчейна RPC - это протокол, который позволяет клиентам взаимодействовать с блокчейном. Пользователи могут запрашивать информацию, связанную с блокчейном (например, высоту блока, детали блока и соединения узлов), и отправлять транзакции через интерфейс RPC.

Страница сетевых дополнений Metamask (Источник: Metamask)

Технические принципы RPC

Очень важно понимать три основные роли RPC:

  1. Поставщик услуг (RPC-сервер): Расположенный на стороне сервера, он предлагает как определения интерфейсов сервисов, так и их реализации. В сфере блокчейна этот провайдер подобен узлу в сети блокчейна, отвечающему за такие функции, как хранение и верификация транзакций.
  2. Потребитель услуг (RPC-клиент): Он работает на стороне клиента. Он вызывает удаленные службы через объект удаленного прокси. В блокчейне реестр функционирует как система управления узлами, отмечая, какие узлы предлагают определенные услуги, и позволяя другим узлам находить и использовать эти услуги.
  3. Реестр: Также находящийся на стороне сервера, он регистрирует локальные услуги как удаленные и управляет ими, делая их доступными для потребителя услуг. В сценарии блокчейна потребители услуг напоминают приложения или пользователей, нуждающихся в информации в блокчейне. Они запрашивают определенные функциональные возможности или данные через RPC, подобно запросам задач в команде.

Граф вызовов RPC (источник: Google)

Подробная техническая архитектура показана на рисунке выше. Чтобы объяснить Вам более наглядно, мы возьмем в качестве примера процесс заполнения отчета менеджером проекта, чтобы объяснить подробный процесс вызова:

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

  • Делегировать: Запишите требования к задаче и передайте их через мессенджер аналитику данных. Это отражает то, как RPC-клиент ищет услугу, но не может выполнить ее самостоятельно.
  • Регистрация: Посыльный передает детали задания координатору, который регистрирует и уведомляет соответствующего аналитика. Посланник здесь ведет себя как Регистр.
  • Сервис: Затем аналитик берет на себя задачу и анализирует данные, что сродни выполнению удаленной функции.
  • Выполнение: Аналитик обрабатывает данные в соответствии с Вашими спецификациями.
  • Запись: Результаты передаются координатору для документирования.
  • Обратная связь: Мессенджер возвращает проанализированные данные, и Вы получаете свой полный отчет.

Почему RPC необходим?

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

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

Каковы области применения RPC?

Из предыдущего раздела очевидно, что жизненно важной функцией RPC (Remote Procedure Call) является установление связи между терминальными приложениями и блокчейном. Поэтому основное использование RPC заключается в том, чтобы в процессе разработки выбрать подходящего поставщика услуг RPC, который позволит пользователям выполнять внутрицепочечные транзакции и запросы.

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

Частный RPC

Подавляющее большинство блокчейнов предлагают бесплатные публичные RPC для тестирования приложений. Однако они имеют ограничения по тарифам, что привело к появлению частных ДУКов. Частная конечная точка RPC имеет уникальный URL, и только ее владелец может использовать этот URL для отправки транзакций в публичный пул памяти, предлагая, таким образом, прямое соединение с узлом-провайдером. Преимущества использования частных ДУК на практике включают:

  • Более быстрое проведение транзакций во время эксклюзивных периодов чеканки NFT в порядке живой очереди
  • Отправка транзакций для использования возможностей арбитража, чувствительных ко времени
  • Быстрое заявление о воздушных десантах

Пример операции RPC

Что касается использования RPC в разработке, то разработчикам следует обратиться к документации. В этой статье в качестве иллюстрации используется переключатель RPC в кошельках, таких как MetaMask: Перейдите в настройки, выберите сеть, щелкните на имени сети, для которой Вы хотите изменить RPC, измените URL RPC справа и сохраните, чтобы завершить изменение. Пользователям следует учитывать уровни задержек, поскольку переход на RPC с высокой задержкой может снизить скорость транзакций.

В MetaMask есть страница изменений RPC (источник: веб-версия MetaMask).

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

Что такое Поставщик услуг RPC?

В связи со сложностью настройки и эксплуатации узлов появилась категория предприятий, специализирующихся на эксплуатации этих узлов для предоставления проектам таких услуг, как RPC/API. Проекты могут посылать запросы этим провайдерам через Интернет. Эти провайдеры запускают полностью синхронизированные, всегда обновляемые узлы, доступные 24 часа в сутки 7 дней в неделю, вместо того, чтобы проекты посылали запросы на свои локальные узлы. Многие провайдеры предлагают не только услуги RPC; они также предлагают различные сопутствующие услуги, такие как API, SDK и т.д. Для разработчиков и индивидуальных пользователей при выборе провайдера важно учитывать такие факторы, как скорость транзакций, стоимость, обслуживание клиентов и набор предлагаемых ими инструментов.

Поставщики услуг RPC также предоставляют частные RPC, упомянутые ранее. Большинство провайдеров RPC ориентированы на многоцепочечные операции и часто предлагают бесплатные пробные и общедоступные версии. Ниже приведены некоторые популярные поставщики услуг RPC:

Flashbots

Flashbots - это компания, занимающаяся исследованиями в области извлекаемой майнерами стоимости (MEV) и стремящаяся уменьшить негативные внешние эффекты и риски, которые MEV представляет для блокчейн смарт-контрактов. Их RPC-сервис, Flashbots Protect, состоит как из RPC, так и из API. Разработчики могут легко встраивать его в свои приложения, используя API. Обычные пользователи могут добавить его RPC в свои кошельки, направляя свои транзакции на Flashbots. Этот процесс предполагает отправку транзакций непосредственно майнерам, а не в публичный пул, что предотвращает "сэндвич-атаку", распространенную в MEV. В настоящее время Flashbots является ведущей организацией в отрасли по исследованию MEV.

Примечание: Под "сэндвич-атакой" понимается тактика завершения сделки непосредственно перед подтверждением транзакции пользователя, что вызывает рост цены, а затем продажа с премией после завершения транзакции пользователя с целью получения прибыли.

Infura

Infura - это продукт IaaS (Infrastructure as a Service), призванный облегчить разработчикам и пользователям доступ к данным Ethereum. Действуя как полноценный узел Ethereum, он предлагает интерфейс API, который позволяет DApps быстро подключаться к платформе Ethereum для взаимодействия без запуска локального узла Ethereum. В число ее клиентов входят Metamask, Uniswap, Compound и др.

Алхимия

Alchemy предоставляет SDK и API для создания многоцепочечных Web3 DApps, а также обучает пользователей использованию этих инструментов через сообщества и университетские инициативы. Alchemy поддержала более $100 млрд. стоимости транзакций в цепочке, имеет более 10 млн. конечных пользователей и принесла более $1,5 млрд. роялти. Среди известных клиентов - Opensea, GMX и AAVE.

Ankr

Ankr предлагает различные услуги узлов, включая публичные и частные узлы, поддерживая более 30 блокчейнов. Ankr также предоставляет API-интерфейсы на основе протоколов RPC и WebSocket, а также несколько инструментов разработки и SDK, таких как Web3.js и Truffle, позволяющих разработчикам легко создавать и развертывать блокчейн-приложения. Их клиентская база включает Binance, Sushiswap, Meta Apes и др.

Quicknode

QuickNode предоставляет пользователям услуги API непосредственно через выделенные узлы. Он поддерживает различные регионы, множество тестовых сетей и архивных узлов, предлагая разработчикам повышенную производительность доступа к блокчейну и большую стабильность. Функции включают интуитивно понятную приборную панель, набор аналитических средств и программу записи удаленных процедурных вызовов, поддерживающую более 20 цепочек. Среди клиентов - компании Nansen, Algofi и Dapprader.

BlockPI

BlockPI - это RPC с распределенной сетевой структурой, распределенный многоцепочечный ускоряющий слой, участвующий в децентрализованной среде Web3. В начале 2023 года он успешно модернизировал свой публичный RPC, предложив более стабильный и быстрый бесплатный сервис RPC. Теоретически, его архитектура фундаментально решает проблему перегруженности RPC-запросов и может похвастаться бесконечной масштабируемостью.

Заключение

С постоянным развитием технологии блокчейн и все более широким внедрением Web3, сервисы RPC, как один из основополагающих сервисов, имеют многообещающее будущее. Спрос со стороны разработчиков на услуги RPC предсказуемо будет расти. С точки зрения отдельных лиц, часто торгующие трейдеры, которым требуется более высокая скорость транзакций, могут извлечь большую выгоду, выбрав менее используемый публичный RPC или инвестировав в частный RPC, особенно для таких операций, как сброс денег по воздуху или чеканка NFT.

Автор: Wayne
Переводчик: Piper
Рецензент(ы): Edward、KOWEI、Elisa、Ashley He、Joyce
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.

Мост, соединяющий приложения и цепочки Web3

Новичок9/28/2023, 1:58:37 AM
Почему мы должны заполнять RPC при добавлении сети на MetaMask? Почему ни одна разработка Dapp не может обойтись без RPC? Как некоторые могут использовать RPC для опережающих сделок? Какие провайдеры предлагают услуги RPC? Эта статья отвечает на все Ваши вопросы о RPC.

Что такое RPC?

Многие сталкиваются с термином RPC при ручном добавлении сетевого RPC в таких кошельках, как MetaMask. Тем не менее, RPC является незаменимой основополагающей технологией для таких блокчейн-приложений, как Dapps, Wallets и CEXs. RPC расшифровывается как "Remote Procedure Call". В Web2 RPC - это техника коммуникации, которая позволяет одному компьютеру вызывать и выполнять программу на другом. Посредством RPC вызывающей стороне нужно передать только имя сервиса и параметры для связи, что является широкой концепцией. В контексте блокчейна RPC - это протокол, который позволяет клиентам взаимодействовать с блокчейном. Пользователи могут запрашивать информацию, связанную с блокчейном (например, высоту блока, детали блока и соединения узлов), и отправлять транзакции через интерфейс RPC.

Страница сетевых дополнений Metamask (Источник: Metamask)

Технические принципы RPC

Очень важно понимать три основные роли RPC:

  1. Поставщик услуг (RPC-сервер): Расположенный на стороне сервера, он предлагает как определения интерфейсов сервисов, так и их реализации. В сфере блокчейна этот провайдер подобен узлу в сети блокчейна, отвечающему за такие функции, как хранение и верификация транзакций.
  2. Потребитель услуг (RPC-клиент): Он работает на стороне клиента. Он вызывает удаленные службы через объект удаленного прокси. В блокчейне реестр функционирует как система управления узлами, отмечая, какие узлы предлагают определенные услуги, и позволяя другим узлам находить и использовать эти услуги.
  3. Реестр: Также находящийся на стороне сервера, он регистрирует локальные услуги как удаленные и управляет ими, делая их доступными для потребителя услуг. В сценарии блокчейна потребители услуг напоминают приложения или пользователей, нуждающихся в информации в блокчейне. Они запрашивают определенные функциональные возможности или данные через RPC, подобно запросам задач в команде.

Граф вызовов RPC (источник: Google)

Подробная техническая архитектура показана на рисунке выше. Чтобы объяснить Вам более наглядно, мы возьмем в качестве примера процесс заполнения отчета менеджером проекта, чтобы объяснить подробный процесс вызова:

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

  • Делегировать: Запишите требования к задаче и передайте их через мессенджер аналитику данных. Это отражает то, как RPC-клиент ищет услугу, но не может выполнить ее самостоятельно.
  • Регистрация: Посыльный передает детали задания координатору, который регистрирует и уведомляет соответствующего аналитика. Посланник здесь ведет себя как Регистр.
  • Сервис: Затем аналитик берет на себя задачу и анализирует данные, что сродни выполнению удаленной функции.
  • Выполнение: Аналитик обрабатывает данные в соответствии с Вашими спецификациями.
  • Запись: Результаты передаются координатору для документирования.
  • Обратная связь: Мессенджер возвращает проанализированные данные, и Вы получаете свой полный отчет.

Почему RPC необходим?

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

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

Каковы области применения RPC?

Из предыдущего раздела очевидно, что жизненно важной функцией RPC (Remote Procedure Call) является установление связи между терминальными приложениями и блокчейном. Поэтому основное использование RPC заключается в том, чтобы в процессе разработки выбрать подходящего поставщика услуг RPC, который позволит пользователям выполнять внутрицепочечные транзакции и запросы.

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

Частный RPC

Подавляющее большинство блокчейнов предлагают бесплатные публичные RPC для тестирования приложений. Однако они имеют ограничения по тарифам, что привело к появлению частных ДУКов. Частная конечная точка RPC имеет уникальный URL, и только ее владелец может использовать этот URL для отправки транзакций в публичный пул памяти, предлагая, таким образом, прямое соединение с узлом-провайдером. Преимущества использования частных ДУК на практике включают:

  • Более быстрое проведение транзакций во время эксклюзивных периодов чеканки NFT в порядке живой очереди
  • Отправка транзакций для использования возможностей арбитража, чувствительных ко времени
  • Быстрое заявление о воздушных десантах

Пример операции RPC

Что касается использования RPC в разработке, то разработчикам следует обратиться к документации. В этой статье в качестве иллюстрации используется переключатель RPC в кошельках, таких как MetaMask: Перейдите в настройки, выберите сеть, щелкните на имени сети, для которой Вы хотите изменить RPC, измените URL RPC справа и сохраните, чтобы завершить изменение. Пользователям следует учитывать уровни задержек, поскольку переход на RPC с высокой задержкой может снизить скорость транзакций.

В MetaMask есть страница изменений RPC (источник: веб-версия MetaMask).

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

Что такое Поставщик услуг RPC?

В связи со сложностью настройки и эксплуатации узлов появилась категория предприятий, специализирующихся на эксплуатации этих узлов для предоставления проектам таких услуг, как RPC/API. Проекты могут посылать запросы этим провайдерам через Интернет. Эти провайдеры запускают полностью синхронизированные, всегда обновляемые узлы, доступные 24 часа в сутки 7 дней в неделю, вместо того, чтобы проекты посылали запросы на свои локальные узлы. Многие провайдеры предлагают не только услуги RPC; они также предлагают различные сопутствующие услуги, такие как API, SDK и т.д. Для разработчиков и индивидуальных пользователей при выборе провайдера важно учитывать такие факторы, как скорость транзакций, стоимость, обслуживание клиентов и набор предлагаемых ими инструментов.

Поставщики услуг RPC также предоставляют частные RPC, упомянутые ранее. Большинство провайдеров RPC ориентированы на многоцепочечные операции и часто предлагают бесплатные пробные и общедоступные версии. Ниже приведены некоторые популярные поставщики услуг RPC:

Flashbots

Flashbots - это компания, занимающаяся исследованиями в области извлекаемой майнерами стоимости (MEV) и стремящаяся уменьшить негативные внешние эффекты и риски, которые MEV представляет для блокчейн смарт-контрактов. Их RPC-сервис, Flashbots Protect, состоит как из RPC, так и из API. Разработчики могут легко встраивать его в свои приложения, используя API. Обычные пользователи могут добавить его RPC в свои кошельки, направляя свои транзакции на Flashbots. Этот процесс предполагает отправку транзакций непосредственно майнерам, а не в публичный пул, что предотвращает "сэндвич-атаку", распространенную в MEV. В настоящее время Flashbots является ведущей организацией в отрасли по исследованию MEV.

Примечание: Под "сэндвич-атакой" понимается тактика завершения сделки непосредственно перед подтверждением транзакции пользователя, что вызывает рост цены, а затем продажа с премией после завершения транзакции пользователя с целью получения прибыли.

Infura

Infura - это продукт IaaS (Infrastructure as a Service), призванный облегчить разработчикам и пользователям доступ к данным Ethereum. Действуя как полноценный узел Ethereum, он предлагает интерфейс API, который позволяет DApps быстро подключаться к платформе Ethereum для взаимодействия без запуска локального узла Ethereum. В число ее клиентов входят Metamask, Uniswap, Compound и др.

Алхимия

Alchemy предоставляет SDK и API для создания многоцепочечных Web3 DApps, а также обучает пользователей использованию этих инструментов через сообщества и университетские инициативы. Alchemy поддержала более $100 млрд. стоимости транзакций в цепочке, имеет более 10 млн. конечных пользователей и принесла более $1,5 млрд. роялти. Среди известных клиентов - Opensea, GMX и AAVE.

Ankr

Ankr предлагает различные услуги узлов, включая публичные и частные узлы, поддерживая более 30 блокчейнов. Ankr также предоставляет API-интерфейсы на основе протоколов RPC и WebSocket, а также несколько инструментов разработки и SDK, таких как Web3.js и Truffle, позволяющих разработчикам легко создавать и развертывать блокчейн-приложения. Их клиентская база включает Binance, Sushiswap, Meta Apes и др.

Quicknode

QuickNode предоставляет пользователям услуги API непосредственно через выделенные узлы. Он поддерживает различные регионы, множество тестовых сетей и архивных узлов, предлагая разработчикам повышенную производительность доступа к блокчейну и большую стабильность. Функции включают интуитивно понятную приборную панель, набор аналитических средств и программу записи удаленных процедурных вызовов, поддерживающую более 20 цепочек. Среди клиентов - компании Nansen, Algofi и Dapprader.

BlockPI

BlockPI - это RPC с распределенной сетевой структурой, распределенный многоцепочечный ускоряющий слой, участвующий в децентрализованной среде Web3. В начале 2023 года он успешно модернизировал свой публичный RPC, предложив более стабильный и быстрый бесплатный сервис RPC. Теоретически, его архитектура фундаментально решает проблему перегруженности RPC-запросов и может похвастаться бесконечной масштабируемостью.

Заключение

С постоянным развитием технологии блокчейн и все более широким внедрением Web3, сервисы RPC, как один из основополагающих сервисов, имеют многообещающее будущее. Спрос со стороны разработчиков на услуги RPC предсказуемо будет расти. С точки зрения отдельных лиц, часто торгующие трейдеры, которым требуется более высокая скорость транзакций, могут извлечь большую выгоду, выбрав менее используемый публичный RPC или инвестировав в частный RPC, особенно для таких операций, как сброс денег по воздуху или чеканка NFT.

Автор: Wayne
Переводчик: Piper
Рецензент(ы): Edward、KOWEI、Elisa、Ashley He、Joyce
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!