[DYOR] Research && Projects
November 29, 2021

Moonbeam | Biconomy

Перевод оффициальной документации мунбим. Ознакомится с оригиналом можете по ссылке - https://docs.moonbeam.network/learn/dapps-list/metaTransactions/biconomy/

Содержание:

Вступление

Что такое мета-транзакции?

Мы поддерживаем разные подходы к реализации мета-транзакций

Интеграция

Дашборд

Узнать больше

Ссылки Biconomy


Масштабируемая инфраструктура ретранслятора для транзакций блокчейна.

Отказ от ответственности: сами проекты полностью управляют содержанием этого руководства. Moonbeam - это сеть без разрешения. Любой проект может развернуть свои контракты на Moonbeam.

Вступление

Biconomy - это масштабируемая инфраструктура ретранслятора транзакций, которая может оплачивать газовую комиссию за транзакцию блокчейна для вашего пользователя dApp, одновременно собирая с вас комиссию на ежемесячной основе в виде некоторого стабильного токена.

Dapps требует слишком много времени для адаптации, и их слишком сложно даже начать использовать. Нам нужно решение, которое упростило бы процесс адаптации для пользователей. Новым пользователям, не разбирающимся в криптовалюте, придется пройти KYC, приобрести ETH на бирже, загрузить кошелек, а затем подключить свой кошелек, прежде чем они смогут продолжить, что может занять несколько дней! Никто не ждет несколько дней, чтобы опробовать приложение.

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

Необходимость платить плату за газ каждый раз, когда пользователь использует ваше приложение. Netflix не взимает с вас плату за AWS за каждый просмотр видео, так почему же Dapps должны взимать плату за газ за каждое ваше взаимодействие?

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

Неустойчивые и высокие цены на газ еще больше ухудшают взаимодействие с пользователем вашего Dapp.

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


Что такое мета-транзакции?


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

Поскольку мета-транзакции не являются собственными для протокола, вам нужно будет либо использовать стороннюю настройку (например Biconomy), либо настроить службу самостоятельно.

Moonbeam обеспечивает это в масштабе, предоставляя сеть релейной инфраструктуры, не связанную с хранением и эффективную с точки зрения газа.

Мы поддерживаем разные подходы к реализации мета-транзакций:


1. Кошелек для смарт-контрактов

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

Biconomy поддерживает интеграцию контрактного кошелька Gnosis. Узнайте, как вы можете интегрировать мета-транзакции через кошелек смарт-контрактов Gnosis здесь.

2. Индивидуальная реализация

Если dApps поддерживают собственные метатранзакции, то ретрансляторы Biconomy будут напрямую ретранслировать транзакции в сеть без необходимости заключения какого-либо контракта с прокси.

3. Реализация стандарта EIP 2771

Вместо того, чтобы интегрировать логику проверки метатранзакций непосредственно в ваш контракт, вы можете унаследовать контракт получателя, который может принимать подтвержденные вызовы от доверенного сервера пересылки. Доверенный сервер пересылки соответствует EIP 2771 и проверяет подписи перед вызовом смарт-контракта с добавленными данными исходного адреса пользователя. Это упрощает разработку и дает вам гибкость при изменении адреса доверенного сервера пересылки при изменении ваших потребностей.

Используя Mexa SDK Biconomy, вы можете легко интегрировать Biconomy в свой DApp. Использование панели управления Biconomy дает вам точный контроль над настройками и конфигурацией для включения MetaTransactions.

Интеграция


Интеграция с использованием Mexa - это простой пошаговый процесс:

1. Зарегистрируйте свой DApp на Biconomy Dashboard, панели для разработчиков, и скопируйте API-ключ, сгенерированный для вашего DApp.
2. Добавьте адрес контракта и ABI контракта, на котором вы хотите включить мета-транзакцию, на свою панель управления Biconomy.
3. Интегрируйте Mexa SDK в свой код DApp с помощью ключа API, полученного с панели управления.


Дашборд

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

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

1. Чтобы использовать Biconomy на Moonbeam, вам нужно выбрать сеть Moonbeam на панели инструментов и выполнить аналогичные шаги, описанные в наших документах.


2. Теперь вы можете увидеть приложение на своей панели управления. Настройте его, добавив свой контракт и функции.


3. Теперь войдите в каталог кода клиента DApp, чтобы настроить мета-транзакции. Давайте сначала установим @ biconomy/mexa из npm.

npm install @biconomy/mexa --save


4. Теперь вам нужно инициализировать Biconomy & web3. Вместо <web3 provider> вы можете использовать window.ethereum, если ваши пользователи DApp используют MetaMask.

import { Biconomy } from "@biconomy/mexa"; 

const biconomy = new Biconomy(<web3 provider>, {apiKey: <API Key>}); 
web3 = new Web3(biconomy); 

biconomy.onEvent(biconomy.READY, () => { 
  
   // Initialize your dapp here like getting user accounts, initialising contracts and etc 
}).onEvent(biconomy.ERROR, (error, message) => { 

   // Handle error while initializing mexa 
   
});


🥳 Поздравляем, вы успешно интегрировали Biconomy в свой Dapp, и теперь ваше приложение поддерживает meta Tx.

Вы можете узнать больше по следующим ссылкам.

1. Mexa SDK
2. Контракты


Узнать больше

Хотите, чтобы ваши пользователи платили за газ в токенах ERC20? Мы можем вам в этом помочь. Подробнее об этом читайте в документации Biconomy.

Ссылки Biconomy

Discord: Biconomy's Discord

Telegram: Biconomy's Telegram

Twitter: Biconomy's Twitter