EIP-1559 у мобільному гаманці: type-2 транзакції

Користувач надсилає ETH, а транзакція зависає на години або списується величезна комісія. До впровадження EIP-1559 гаманці вгадували gasPrice і часто помилялися. Ми, як команда з 5-річним досвідом розробки мобільних гаманців, впроваджуємо цей стандарт, щоб виключити переплати та затримки. EIP-1559 р

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
EIP-1559 у мобільному гаманці: type-2 транзакції
Середній
~2-3 дні

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    898
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Користувач надсилає ETH, а транзакція зависає на години або списується величезна комісія. До впровадження EIP-1559 гаманці вгадували gasPrice і часто помилялися. Ми, як команда з 5-річним досвідом розробки мобільних гаманців, впроваджуємо цей стандарт, щоб виключити переплати та затримки. EIP-1559 робить комісії передбачуваними: користувач задає максимальну ціну газу (maxFeePerGas) та чайові валідатору (maxPriorityFeePerGas), а протокол автоматично розраховує базову комісію (baseFee), яка спалюється. Результат — економія до 40% порівняно зі старим форматом і жодних завислих транзакцій. Офіційна специфікація: EIP-1559. Сьогодні підтримка EIP-1559 стала стандартом для сучасних гаманців — без неї користувачі йдуть до конкурентів. Наше рішення забезпечує плавну інтеграцію з мінімальними доробками.

Як працюють type-2 транзакції в мобільному гаманці?

Транзакція type 2 містить три ключових параметри замість одного gasPrice:

  • baseFee — автоматично розраховується протоколом, спалюється (не йде майнеру). Збільшується на 12.5% при заповненому блоці, зменшується при порожньому. Отримати поточний: eth_getBlockByNumber("pending", false) → поле baseFeePerGas.
  • maxPriorityFeePerGas (tip) — винагорода майнеру/валідатору. Мінімальний tip для включення в блок — зазвичай 0.1–2 Gwei.
  • maxFeePerGas — абсолютний максимум, який готовий заплатити користувач. Фактично списується: min(maxFeePerGas, baseFee + maxPriorityFeePerGas). Різниця повертається.
// iOS — web3swift: побудова EIP-1559 транзакції var transaction = CodableTransaction( type: .eip1559, to: recipientAddress, value: amount, data: Data() ) transaction.maxFeePerGas = baseFee + maxPriorityFee + buffer transaction.maxPriorityFeePerGas = maxPriorityFee transaction.chainID = BigUInt(1) // Ethereum Mainnet 

Як правильно відображати комісії користувачу?

Користувач бачить maxFeePerGas = 50 Gwei, але якщо baseFee в момент майнінгу дорівнює 20 Gwei, а tip — 2 Gwei, заплатить 22 Gwei. Решта 28 Gwei повернуться. В UI краще показувати очікувану комісію (baseFee + tip) і максимально можливу (maxFeePerGas * gasLimit). Це знижує тривогу у користувачів, які бачать великий максимум. Зниження витрат на комісії досягає 30-50%.

Динамічні підказки комісій: як налаштувати?

Рекомендовані значення оновлювати кожні 12 секунд (час блоку Ethereum). Джерела:

  • eth_feeHistory — розрахунок percentile priority fee самостійно
  • eth_maxPriorityFeePerGas — MetaMask-метод, підтримується Infura, Alchemy, QuickNode
  • Blocknative Gas API — платний, але дуже точний для Mainnet
// Android — отримати рекомендований priority fee val maxPriorityFeeResponse = web3j.send( Request("eth_maxPriorityFeePerGas", emptyList<Any>(), web3jService, EthMaxPriorityFeePerGas::class.java) ) val priorityFeeWei = maxPriorityFeeResponse.maxPriorityFeePerGas 

Порівняння legacy та EIP-1559 транзакцій

Параметр Legacy (type 0) EIP-1559 (type 2)
Ціна газу gasPrice (один параметр) baseFee + maxPriorityFeePerGas + maxFeePerGas
Повернення переплати Ні Так (різниця між maxFee та фактичною комісією)
Передбачуваність Низька (залежить від аукціону) Висока (baseFee оновлюється протоколом)
Підтримка мереж Всі EVM Не всі (BNB Chain, Arbitrum, Optimism)

Порівняння джерел динамічних комісій

Джерело Безкоштовний Точність Оновлення
eth_feeHistory Так Середня (залежить від percentile) кожен блок
eth_maxPriorityFeePerGas Так (Infura/Alchemy) Висока (MetaMask-алгоритм) кожен блок
Blocknative Gas API Ні Дуже висока real-time

Як обробляти мережі без підтримки EIP-1559?

BNB Chain використовує legacy-формат з фіксованим gasPrice (за замовчуванням 3 Gwei). Polygon підтримує EIP-1559 з версії мережі 26.x. Arbitrum і Optimism — власні механізми поверх EIP-1559. Додаток повинен визначати тип мережі і вибирати відповідний формат транзакції автоматично. Відправка type-2 транзакції в мережу без EIP-1559 поверне помилку unsupported transaction type. При отриманні такої помилки додаток повинен переключитися на legacy-формат: замінити type: .eip1559 на type: .legacy і вказати gasPrice замість maxFeePerGas та maxPriorityFeePerGas. Рекомендується кешувати тип мережі після першої успішної відправки.

Покрокова реалізація EIP-1559 в мобільному гаманці

  1. Визначте підтримувані мережі за chainID і збережіть маппінг: для мереж з EIP-1559 використовуйте type-2, для інших — legacy.
  2. Отримуйте baseFee через eth_getBlockByNumber("pending", false) кожні 12 секунд і кешуйте.
  3. Обчисліть рекомендований priority fee через eth_maxPriorityFeePerGas або eth_feeHistory.
  4. Сформуйте транзакцію type-2: задайте maxFeePerGas = (baseFee + priorityFee) * 1.1 (буфер), maxPriorityFeePerGas = priorityFee.
  5. В UI відобразіть очікувану комісію (baseFee + priorityFee) та максимальну (maxFeePerGas * gasLimit).
  6. При помилці unsupported transaction type переключіться на legacy-формат і повторіть відправку.

Чому варто оновити гаманець до EIP-1559?

Застарілі гаманці з одним gasPrice змушують користувачів переплачувати або чекати підтвердження годинами. Впровадження EIP-1559 дає передбачуваність, економію до 40% на комісіях та довіру користувачів. Більшість сучасних гаманців (MetaMask, Trust Wallet) вже підтримують EIP-1559 — ваш гаманець не повинен відставати. Отримайте консультацію з інтеграції EIP-1559 у ваш проект.

Що входить у реалізацію

  • Аудит поточного гаманця та виявлення необхідних змін.
  • Реалізація type-2 транзакцій з коректним розрахунком параметрів.
  • Інтеграція динамічних підказок через RPC-методи.
  • UI/UX: відображення очікуваної та максимальної комісії, автооновлення.
  • Підтримка множини EVM-мереж з автовизначенням та fallback.
  • Тестування в mainnet та testnet з екстремальними сценаріями.
  • Документація, доступ до репозиторію, навчання команди та підтримка після впровадження.

Ми гарантуємо коректну роботу в усіх популярних мережах, спираючись на перевірені методи та досвід понад 50 реалізованих проектів. Замовте аудит поточного гаманця — ми підготуємо план переходу на EIP-1559.

Терміни та вартість: 2–3 дні на базову інтеграцію, від 5 днів для складних проектів з кількома мережами. Вартість робіт визначається після аудиту та залежить від складності інтеграції. Зв'яжіться з нами для консультації та оцінки вашого проекту.