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
И конечно же мне будет приятно если вы подпишитесь на мой телеграм канал: