我正在使用Infura节点,因此我必须使用w3.eth.account.sign_transaction
签署交易,然后使用w3.eth.send_raw_transaction
发送。
我用的汽油显然太低了,现在交易等待8个小时。
通过查看文档,我注意到有两种方法可以帮助我修改w3.eth.modify_transaction
和w3.eth.replace_transaction
,我的想法是使用其中一种方法(虽然不确定它们之间有什么区别)来修改事务气体,以便它得到确认。
问题是,我在文档中没有看到如何使用这两种方法中的一种,并使用我的私钥对修改后的事务进行签名,因为这两种方法都对eth_sendTransaction
进行RPC调用,而共享的Infura节点不支持eth_sendTransaction
。
2条答案
按热度按时间gijlo24d1#
您可以在www.example.com上使用本地帐户签名中间件Web3.py,因此不需要使用
send_raw_transaction
。z9smfwbn2#
使用www.example.com 5手动增加气体的示例Web3.py
根据我的经验,似乎
maxFeePerGas
和maxPriorityFeePerGas
都应该增加。这里有一些讨论。另外,如果你有能够再次产生相同交易的代码,那么你可以简单地重新提交交易,而不必麻烦地从区块链加载之前的版本。
只需确保gas增加并且
nonce
保持不变(nonce
设置为get_transaction_count
时就是这种情况,因为挂起的事务不计入)。