Finex.cz logo
Menu
Finex » Kryptoměny » Co dělat se zaseknutou transakcí v síti Ethereum? Návod, postup a vyřešení dlouhotrvajících transakcí

Co dělat se zaseknutou transakcí v síti Ethereum? Návod, postup a vyřešení dlouhotrvajících transakcí

Co dělat se zaseknutou transakcí v síti Ethereum? Návod, postup a vyřešení dlouhotrvajících transakcí
Zdroj: unsplash.com

Pokud jste někdy používali síť Ethereum, možná to znáte sami. Když chcete rychle odeslat transakci, tak se zrovna "něco" pokazí a to vám nadělá spoustu problémů. Nejenže se vaše transakce neodešle, ale celá peněženka se zablokuje i pro transakce následující, což je tak trochu noční můra, protože člověk neví, co se děje.

V tomto článku si proto popíšeme, jak krok za krokem postupovat pro odblokování zaseknuté transakce a také si povíme, proč k jejímu zablokování vůbec dochází. Postup bude popsán v prostředí peněženky MetaMask, ale jak si ukážeme, podobný proces lze učinit i v jiných peněženkách.

Obsah článku o odblokování zaseknuté Ethereum transakce

1.Proč se transakce zasekla?2.Oprava zaseknutých transakcí1) Zrychlení transakce2) Zrušení transakce3) Resetování MetaMask4) Změna nonce transakce3.Závěr4.Diskuze – Stále se vám nedaří transakci odseknout? Napište nám do komentářů!

Proč se transakce zasekla?

Zaseknutí transakce může způsobit mnoho problémů a je proto důležité pochopit princip, proč se tak stalo. Naneštěstí problémů s odchozí platbou může být více, proto se nyní podíváme na ty nejčastější. Následující body mohou rovněž souviset i s tím, že odeslání transakce trvá příliš dlouho.

1) Nízká cena poplatku za Gas

Jedná se o nejčastější důvod zaseknutí nebo zpomalení transakce. Na blockchainu Ethereum transakce probíhá v duchu "kdo víc zaplatí, ten dřív odešle svoji transakci". V praxi to znamená, že transakce, které mají vyšší Gas (poplatek za provedení) jsou vyřizovány přednostně.

Na nízký Gas fee se uživatel dostane třeba odesláním platby v období nízké vytíženosti blockchainu, a pokud se nestihne transakce vyřídit před zvýšením aktivity, je zařazena až za transakce s vyšším Gas.

Gas je jednotka, ve které se vyjadřují poplatky za jednotlivé úkony v Ethereové síti.

Cenu Gas přiřazuje ke každé transakci samotná decentralizovaná aplikace či peněženka. Toto přiřazování je automatické a reflektuje vytíženost blockchainu, což se odrazí jak na výši poplatku, tak na rychlosti vypořádání transakce. Výši minimální, průměrné a maximální ceny Gas, lze sledovat na volně dostupných trackerech. V případě Etherea můžete transakce čekající na vypořádání vidět v sekci probíhajících transakcí. V době psaní článku na vyřízení čeká zhruba 156 000 transakcí.

Transakce čekající na vypořádání
Transakce čekající na vypořádání
Zdroj: etherscan.io

V pořadníku transakce čeká na to, až ji validátoři ověří a zahrnou do bloku. Výše vašeho zaplaceného poplatku za Gas je tedy odměna pro validátory za to, že vaši transakci ověřili. Jak ovlivnit výši transakce, abyste nebyli "věčně poslední", si ukážeme dále v tomto článku.

2) Malý zůstatek na peněžence

Dalším důvodem, proč se může transakce zaseknout, je malý finanční zůstatek na peněžence. Na Ethereu za prostou směnu mincí zaplatíte běžně něco kolem 0,00001 ETH – 0,0001 ETH, což dle vytíženosti blockchainu může činit od pár desítek centů až po desítky dolarů.

Pokud tolik etherů na peněžence po odeslání platby nemáte, nemáte už jak zaplatit validátorům za ověření transakce, což znamená, že k jejímu vypořádání nedojde. A protože v Ethereu záleží na pořadí vytvořených transakcí, jak si záhy ukážeme, dojde k blokaci i veškerých dalších plateb.

Řešení je v tomto případě jednoduché – jako prevenci udržovat dostatečný zůstatek na peněžence, aby nedošlo k jeho vyčerpání. Pokud zůstatek i tak vyčerpáte a transakce se tím pádem zasekne, stačí doplnit na peněženku kapitál a transakce bude poté odeslána do fronty na ověření.

3) Problémy v síti či programu peněženky

Nic není dokonalé a proto se může stát, že vznikne problém na straně poskytovatele peněženky, v našem případě MetaMask. Problém s vypořádáním může vzniknout například přetížením softwaru či výpadkem síťových poskytovatelů.

Pokud se ve světě kryptoměn trochu vyznáte, můžete si při nefunkčnosti peněženky nejdříve ověřit funkčnost těchto služeb. Většina síťových poskytovatelů transparentně zveřejňuje jejich časovou výkonnost, příkladem může být stránka o stavu Infury, což je, jak plyne z boxu výše, podstatné pro peněženku MetaMask a řadu dalších projektů.

Pokud ale nechcete nic riskovat, doporučujeme kontaktovat oficiální podporu vaší peněženky a nevyhledávat pomoc na internetu. Řada platforem zveřejňuje aktuality o výpadku svých služeb či poskytuje telefonickou podporu nebo podporu přes chat, příkladem může být opět centrum podpory peněženky MetaMask. Dejte si ale pozor, zdali je zákaznická podpora, na níž se obracíte, skutečná a nejedná se o podvod

Oficiální stránky podpory softwarových peněženek po vás NIKDY nebudou chtít vaše přístupové údaje. Svůj seed nikdy nikomu nesdělujte!

Pokud vás k tomu někdo nabádá, je více než pravděpodobné, že se jedná o jednu z forem phishingu či jinou variantu podvodu.

Oprava zaseknutých transakcí

V této části článku si nastíníme postupy, díky kterým je možné zaseknutou transakci odblokovat. Možností, jak to provést, je několik a jsou řazeny od těch nejjednodušších postupů až po ty složitější. V poslední kapitole se pak budeme věnovat odstranění zaseknuté transakce pomocí nastavení jiného nonce, což je již pokročilejší technika řešení této problematiky.

1) Zrychlení transakce

Jak jsme si již řekli, jedním z častých důvodů, proč se transakce v peněžence zasekne, je příliš nízko nastavená cena za Gas. Řešením tohoto problému je zkrátka její navýšení, čímž se vaše transakce posune ve frontě na mnohem vyšší místa a validátoři se k vaší transakci dostanou mnohem dříve. Poplatek je v peněžence MetaMask možné navýšit následovně.

Zrychlení transakce provedete ve své peněžence v záložce transakce a otevřením pole Speed Up. Následně zadáte vyšší cenu v kolonce Gas Price. Po uložení nové výše ceny za Gas se transakce opět odešle pod stejným nonce (číslo transakce). Navýšením ceny za Gas a opětovným odesláním se vaše transakce objeví na vyšších místech v tabulce nevyřízených transakcí, což si můžete překontrolovat podle návodu výše.

Tlačítko pro zrychlení/odseknutí Ethereum transakce v MetaMask
Tlačítko pro zrychlení/odseknutí transakce v MetaMask
Zdroj: metamask.zendesk.com

2) Zrušení transakce

Zrušení transakce je další možností, jak ji z fronty nevyřízených transakcí odstranit. Tato možnost se hodí především v případě, kdy provádíte více plateb "a ta jedna", vám z nějakého důvodu blokuje další platby ve frontě. Jejím odstraněním tak umožníte vypořádání těch zbývajících, avšak důvod jejího zaseknutí nevyřešíte.

Postup zrušení transakce je velmi jednoduchý. Stačí v peněžence v záložce transakce kliknout na tlačítko Cancel a transakce se z fronty odstraní. Toto jednoduché řešení má ovšem nepříjemné pozadí.

Zrušení transakce v peněžence MetaMask
Zrušení transakce v peněžence MetaMask

Vzhledem k tomu, že zrušení transakce je v blockchainu považováno jako další transakce, musíte při zrušení počítat s poplatkem ve výši aktuální ceny za Gas. Další podmínkou pro zrušení transakce je její poloha v rámci vypořádání.

Jednoduše řečeno, transakci lze zrušit pouze v případě, že transakce stále probíhá (má status "pending") a nebo se ještě ani nezačala zpracovávat, protože jsou před ní další transakce pro danou adresu – je ve frontě a má status "queued".

Ať tak či onak, validátoři ji ještě do žádného bloku nezahrnuli, proto je možné ji ještě nějakým způsobem zvrátit. Pokud vám transakce tímto způsobem zrušit nejde, pokračujte dále.

3) Resetování MetaMask

Tuto metodu lze využít pouze v případě, že je transakce zaseknutá na naší peněžence a ještě nebyla odeslána do síťového mempoolu – místa, v němž se nacházejí všechny transakce čekající na vyřízení a které odposlouchávají navrhovatelé bloků. Způsob, jak zjistit status transakce, jsme si popsali výše; nyní se podíváme na to, jak lze peněženku resetovat a tak z ní odstranit zaseknutou transakci.

Resetování peněženky není nikterak zpoplatněno, dojde pouze k vymazání veškeré historie transakcí, podobně jako u historie procházení webu.

Tato akce zároveň nemá vliv na přihlašovací údaje k peněžence, proto není nutné mít po ruce seed.

V pravé horní části své peněženky otevřete volby My Account a v otevřeném okně zvolte tlačítko Settings. V následujícím okně zvolte možnost Advanced. Dostanete se do záložky, ze které lze provést reset peněženky. Po resetování peněženky můžete vaší transakci znovu odeslat.

4) Změna nonce transakce

Jedná se již o pokročilejší metodu, ke které byste se měli uchýlit pouze v případech, kdy všechny předchozí pokusy o odstranění zaseknuté transakce selhaly. Tento postup použijte, pokud se transakce již nedá zrušit, ale nebyla ještě vyřízena.

Princip, který v tomto postupu využijeme, používá vlastnost blockchainu Etherea zabraňující existenci dvou transakcí se stejným nonce. Proto nejprve vytvoříme novou transakci se stejným account nonce, jako má transakce zaseklá, a zbytek práce již provede systém (zruší sám zaseknutou transakci).

Pokud se tedy transakce z nějakého důvodu zasekne, zablokuje i všechny transakce ve frontě za ní. Princip říká, že se nejdříve musí vyřešit transakce s nejnižším nonce. Na obrázku níže se jedná o třetí transakci odshora mající nonce 3. Dvě transakce nad ní mají podle posloupnosti nonce 4 a 5.

Třetí transakce odshora je příčinou celého problému - jakmile validátoři ověří tuto transakci, ihned ověří i dvě další
Třetí transakce odshora je příčinou celého problému – jakmile validátoři ověří tuto transakci, ihned ověří i dvě další

U vyšších transakcí také uvidíte následující hlášku potvrzující, že problémem je skutečně ta nejstarší transakce čekající na vypořádání.

Problémem je transakce s nejnižším nonce
Problémem je transakce s nejnižším nonce

Jak tedy zaseknutou transakci s nejnižší nonce zprůchodnit? V první řadě je potřeba v peněžence povolit možnost manuálního zadávání nonce. To provedeme následovně. Nastavení (Settings) → Pokročilé (Advanced) → Přizpůsobit transakci nonce (Customize transaction nonce). Dle původního nastavení by tato volba měla být vypnutá, proto ji zapněte.

Povolení k zadání libovolného nonce
Povolení k zadání libovolného nonce

Nyní je potřeba zjistit hodnotu nonce zaseknuté transakce. To lze provést buď zadáním transakce do Etherscanu, kde nonce naleznete po otevření pole Více na podobném místě, jako na obrázku výše. Nonce lze také dohledat přímo v peněžence v podrobnostech transakce. V našem případě má zaseknutá transakce nonce s hodnotou 3.

Postup vytvoření nové transakce je v tomto případě stejný, jako při vytváření jakékoliv jiné. Transakci si klidně můžete poslat sami sobě, nemusí mít zároveň žádný obnos (0 ETH). Ujistěte se ovšem, že máte na peněžence dostatek prostředků pro pokrytí poplatků za Gas. Pokud spěcháte, můžete si při nastavení transakce navolit vyšší cenu za Gas, abyste na vyřízení nemuseli čekat dlouho. Po potvrzení prvního formuláře je v dalším okně potřeba zadat nonce zaseknuté transakce, v našem případě tedy 3. Následně vše potvrdíte.

V blockchainu nyní vznikne nová transakce s původním nonce a měla by už proběhnout bez problému. V závislosti na tom, jak velkou cenu za Gas jste zadali, může transakce trvat pár sekund a nebo i několik minut. Jakmile se vypořádá, validátoři se budou moci vrhnout i na zbylé čekající transakce s již vyššími nonce.

Po úspěšném odstranění transakce pomocí jiné nonce nezapomeňte opět volbu manuálního zadávání nonce zrušit, aby vám mohl systém generovat nonce automaticky.

Závěr

Zaseknutá transakce může být velkým problémem při platbách v blockchainových sítích. V tomto článku jsme si popsali důvody, proč k takovému zaseknutí může dojít a následně jsme si uvedli konkrétní postupy, jak se s touto problematikou vypořádat. V závěru článku jsme si popsali postup smazání zaseknuté transakce pomocí nonce, což je již pokročilejší technika.

Postup při řešení zaseknuté transakce byl v článku popsán na peněžence MetaMask, ovšem postup je totožný i pro další peněženky. Vždy si stačí buď přes blockchainový prohlížeč či přes historii transakcí v peněžence zjistit nonce transakce a při tvorbě nové transakce odpovídající nonce zadat.

Vstupte do světa kryptoměn!

Již kryptoměny máte? Držte je v bezpečí hardware peněženky Trezor!

Favorit redakce
Trezor logo

Trezor

★ 95 %

  • Jedna z nejbezpečnějších kryptoměnových peněženek
  • Vytvořena českou firmou
  • Pro začátečníky může působit složitě
  • Je dražší než ostatní peněženky, zejména Model T

Aktuálně 3 největší kryptoměny

Graf posl. 7 dní
Graf Bitcoin
Změna za 24h
-0,84%
Aktuální cena
$16 830
Graf posl. 7 dní
Graf Ethereum
Změna za 24h
-1,3%
Aktuální cena
$1 234
Graf posl. 7 dní
Graf BNB
Změna za 24h
-1,8%
Aktuální cena
$283,5

Ohodnoťte tento článek

Připojte se k diskuzi
Akcie
Komodity
Krypto
Indexy
ETF
Aktuální cena 24h
Tesla Inc. ---
N/A
ČEZ ---
N/A
Apple ---
N/A
Moneta ---
N/A
Komerční banka ---
N/A
Philip Morris ČR ---
N/A
Erste group ---
N/A

Velký test: Investujeme vlastní peníze do investičních platforem

Která přinese největší zhodnocení? Portu, Fondee, Indigo, Finax, nebo Fumbi?
Která přinese největší zhodnocení? Portu, Fondee, Indigo, Finax, nebo Fumbi?
Sledujte nás na Facebooku, ať vám nic neunikne!
Facebook icon Jít na Facebook
Finex logo