August 11, 2023
Что делать если застряла транзакция?
Сегодня у меня случилась ситуация что у меня повисла транзакция в metamask и я не мог не ускорить её не отменить из-за баганого кошелька. Поспрашивал по чатам, оказывается это частая проблема для пользователей этого кошелька.
И вот после многих попыток что-то сделать через метамаск я понял что так дело не пойдёт и решил эту задачу за 5 минут кодинга
from web3 import Web3, HTTPProvider rpc_url = 'РПС' # нужна рпс той сети в который застряла транзакция private_key = 'Приватный ключ' old_transaction_hash = 'Хеш транзакции которая повисла' new_gas_price = Web3.to_wei('25', 'gwei') # смотрим на езерскане какая цена газа в сети сейчас w3 = Web3(HTTPProvider(rpc_url)) old_transaction = w3.eth.get_transaction(old_transaction_hash) new_transaction = { 'to': old_transaction['to'], 'value': old_transaction['value'], 'gas': old_transaction['gas'], 'gasPrice': new_gas_price, 'nonce': w3.eth.get_transaction_count(w3.to_checksum_address(old_transaction['from'])), } signed_transaction = w3.eth.account.sign_transaction(new_transaction, private_key) transaction_hash = w3.eth.send_raw_transaction(signed_transaction.rawTransaction) print(f"New Transaction Hash: {transaction_hash.hex()}")
После того как мы заменили все входные данные которые нужно , запускаем скрипт и готово, самое важное правильно вручную вписать цену Газа сети что бы не была слишком маленькая.
Если будут вопросы, спрашивайте у меня в чате https://t.me/one_eyes_chat
И конечно же мне будет приятно если вы подпишитесь на мой телеграм канал: