Neonlabs
April 21, 2022

Система учета газа: ключевой компонент Neon Web3 Proxy

Neon Web3 Proxy помогает упростить транзакции, подобные Ethereum, в Solana. Система учета газа является важным компонентом функциональности Neon Web 3 Proxy . С помощью системы учета газа прокси-сервер может передавать расчетное количество газа в MetaMask, чтобы пользователи знали, сколько газа будет израсходовано для любой транзакции Neon. (Количество газа, необходимого примерно, соответствует количеству лэмпортов, необходимых для выполнения транзакции.) Без надежных оценок пользователь потенциально может указать слишком мало газа для транзакции, что приведет к сбою транзакции (и в результате чего пользователь будет платить комиссию за газ). за неудачную транзакцию).

Прокси также рассчитает соответствующую цену в токенах NEON для каждой единицы газа. Затем это используется для расчета стоимости общего количества газа, необходимого для транзакции. Эта функция помогает пользователям понять, чего ожидать с точки зрения стоимости в NEON для любой конкретной транзакции. Функциональность дополнительно поддерживает пользовательский интерфейс Ethereum для конечного пользователя.

Система учета газа в прокси-сервере рассчитывает предполагаемую сумму и стоимость в токенах NEON, необходимые для облегчения транзакции Neon. Он рассчитывает предполагаемую стоимость и количество газа, необходимого для облегчения транзакции Neon. Функционал высокого уровня включает в себя:

  • Расчет стоимости газа в токенах NEON для конечных пользователей, использующих dApp на Neon EVM. Значение отображается в MetaMask.
  • Возврат настраиваемого расчетного лимита газа для пользователей.

Почему это важно

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

Оценки количества и стоимости газа отражают нативную функциональность MetaMask на Ethereum, обеспечивая максимально приближенный к нативному опыту EVM. Оценка помогает пользователям понять количество газа, необходимое для безопасного выполнения транзакции Neon, указывая, что пользователи могут ожидать при завершении транзакции Neon (транзакция, подобная Ethereum).

Например, если пользователь указал слишком мало газа в транзакции (без надежной оценки), транзакция может завершиться неудачей, в результате чего пользователь заплатит комиссию за газ за аннулированную транзакцию.

Как это устроено

Прокси-сервер Web3 позволяет конечным пользователям беспрепятственно взаимодействовать и инициировать транзакции со смарт-контрактами Solidity на Neon EVM. Когда пользователь инициирует транзакцию во время взаимодействия с dApp на Neon EVM, MetaMask отправит детали транзакции Neon на прокси-сервер Web3. Затем прокси-сервер использует сведения о внутреннем эмуляторе для оценки объема памяти и предполагаемого количества итерационных транзакций, необходимых для завершения.

Вот как это работает в 10 шагов:

  1. Конечный пользователь взаимодействует с dApp Neon EVM и инициирует транзакцию Neon с помощью MetaMask.
  2. MetaMask отправит детали транзакции Neon на прокси-сервер Web3 до того, как конечный пользователь подпишет транзакцию Neon.
  3. Прокси-сервер Web3 будет запускать детали транзакций Neon через свой внутренний эмулятор, чтобы определить предполагаемый объем памяти в байтах, необходимый для выполнения итерационных транзакций в Solana, и предполагаемый объем итерационных транзакций Solana, необходимый для завершения всей транзакции Neon. Прокси-сервер Web3 использует эти данные для расчета количества газа, необходимого для выполнения транзакции Neon.
  4. Внутренняя система учета газа Web3 Proxy производит расчетное количество газа, необходимое для выполнения транзакции Neon для конечного пользователя.
    - Эта сумма газа включает комиссию Solana, комиссию Neon EVM Governance и комиссию оператору Neon, который помогает упростить транзакцию.
  5. Информация, содержащая предполагаемое количество газа, отправляется обратно в MetaMask через Web3 API с прокси.
  6. MetaMask отправит запрос на прокси через web3 API о стоимости газа в токенах NEON за указанное количество лэмпортов (стоимость каждого лэмпорта в токенах NEON).
  7. Прокси отправит MetaMask цену газа в NEON для каждого необходимого лампорта. Он добавляет процентную комиссию к цене газа (в токенах NEON) для каждого лэмпорта в зависимости от того, что оператор запрашивает за свои услуги. Комиссия по умолчанию, взимаемая операторами, составляет 10%; это значение может варьироваться.
  8. MetaMask отображает предполагаемую стоимость для пользователя.
  9. Когда пользователь подписывает/одобряет транзакцию Neon через MetaMask, MetaMask отправит подписанную транзакцию на прокси. Прокси упакует исходную транзакцию Neon в транзакцию Solana с дополнительной информацией, собранной системой учета газа.
  10. Neon EVM не может потреблять больше газа, чем указано в транзакции Neon. Если для выполнения требуется больше газа, чем указано в транзакции Neon, транзакция завершится неудачно, и пользователь заплатит за весь газ.
    - Транзакция не завершится ошибкой, если будет использована предполагаемая сумма, предоставленная MetaMask Прокси.
    - Если пользователь отредактирует лимит газа выше расчетной стоимости, транзакция может завершиться неудачно.

Подведение итогов

Каждая транзакция в Neon EVM требует оплаты токеном NEON. Система учета газа, встроенная в Neon Web3 Proxy, рассчитывает приблизительную стоимость проведения транзакций до того, как пользователи проверят и подпишут транзакцию. Преимущество прокси-сервера Web3 и системы учета газа заключается в том, что конечным пользователям не нужно ничего делать, что делает работу пользователей и транзакции Neon на Neon EVM плавными и приятными.

Если эта статья оставит у вас дополнительные вопросы, свяжитесь с нашей командой через Discord . Мы будем более чем рады помочь вам понять, как прокси-сервер Web3 и его внутренняя система учета газа облегчают проведение транзакций на Neon EVM.

35