Реализация расчёта и настройки Gas Fee в мобильном криптокошельке

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Реализация расчёта и настройки Gas Fee в мобильном криптокошельке
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Реализация расчёта и настройки Gas Fee в мобильном криптокошельке

Gas fee — не просто цифра в интерфейсе. Это баланс между скоростью подтверждения и стоимостью. Мобильный кошелёк должен предлагать разумные значения по умолчанию и одновременно давать контроль тем, кто его хочет.

Откуда брать актуальный gasPrice

Для legacy-транзакций (до EIP-1559) или сетей без поддержки EIP-1559 (BNB Chain по умолчанию): eth_gasPrice возвращает медианный gasPrice из последних блоков. Это отправная точка.

Для Ethereum Mainnet и сетей с EIP-1559 — eth_feeHistory(10, "latest", [10,50,90]) даёт percentile-распределение priority fee за последние 10 блоков. Это основа для расчёта slow/average/fast.

// Android — web3j: получить feeHistory
val feeHistory = web3j.ethFeeHistory(10, DefaultBlockParameterName.LATEST, listOf(10.0, 50.0, 90.0)).send()
val baseFee = feeHistory.feeHistory.baseFeePerGas.last() // в wei
val slowPriorityFee = feeHistory.feeHistory.reward[0][0] // 10-й percentile
val avgPriorityFee = feeHistory.feeHistory.reward[0][1]  // 50-й percentile
val fastPriorityFee = feeHistory.feeHistory.reward[0][2] // 90-й percentile

Для Polygon с его спайками gasPrice рекомендую использовать Gas Station API: https://gasstation.polygon.technology/v2 — он учитывает локальную специфику сети.

Три режима: Slow / Average / Fast

Стандартная схема:

Режим Base Fee Priority Fee Ожидаемое время
Медленно base + 0% 10-й percentile 3–5 минут
Среднее base + 10% 50-й percentile ~30 секунд
Быстро base + 20% 90-й percentile ~15 секунд

maxFeePerGas = baseFee * multiplier + priorityFee. Пользователь выбирает режим — приложение автоматически пересчитывает итоговую стоимость в USD.

Ручная настройка для продвинутых пользователей

Режим «Кастом» — поля для ввода maxFeePerGas и maxPriorityFeePerGas в Gwei. Обязательная валидация:

  • maxPriorityFeePerGas <= maxFeePerGas
  • maxFeePerGas >= текущий baseFee (иначе транзакция зависнет)
  • Предупреждение, если значения слишком занижены: «Транзакция может не подтвердиться несколько часов»

Вводить значения в Gwei удобнее, чем в Wei. Конвертация: 1 Gwei = 10^9 Wei.

Estimation gasLimit

eth_estimateGas обязателен для ERC-20 transfers и контрактных вызовов. Возвращает ориентировочный gasLimit — рекомендуется умножить на 1.2 для запаса. Для ETH transfer — фиксированный 21000 gas.

Если eth_estimateGas возвращает ошибку execution reverted — транзакция гарантированно провалится. Показать пользователю ошибку до отправки, не давать подтверждать.

Сроки: 2–3 дня: polling feeHistory, расчёт трёх режимов, UI выбора скорости с отображением стоимости в USD, кастомный режим с валидацией, estimation gasLimit.