Web3 python无法发送交易
Posted
技术标签:
【中文标题】Web3 python无法发送交易【英文标题】:Web3 python can't send a transaction 【发布时间】:2021-10-22 18:26:18 【问题描述】:我正在尝试从一个地址到另一个地址发送交易,一切正常,但我在 etherscan 上的交易状态是:
web3 = Web3(Web3.HTTPProvider(infura_url))
def send_transaction(from_address, private_key, to_address, amount_eth, gwei, gas_limit):
# get the nonce
nonce = web3.eth.getTransactionCount(from_address)
# build transaction
tx =
'nonce': nonce,
'to': to_address,
'value': web3.toWei(amount_eth, 'ether'),
'gas': gas_limit,
'gasPrice': web3.toWei(gwei, 'gwei')
tx_usd_price = (eth_usd_price*gas_limit*tx['gasPrice'])/10**18
# print(f'Tx usd price: tx_usd_price')
# sign transaction
signed_tx = web3.eth.account.signTransaction(tx, private_key)
# send transaction # get transaction hash
tx_hash = web3.eth.sendRawTransaction(signed_tx.rawTransaction)
如何正确发送交易?
【问题讨论】:
【参考方案1】:有两个原因
-
你的gas价格太低了
来自同一钱包/地址的其他交易正在等待处理。
如果有相同地址的待处理交易,请等待它们被处理。 如果不起作用,请尝试将您的 gas 价格设置在 65-90 gwei 之间。
【讨论】:
以上是关于Web3 python无法发送交易的主要内容,如果未能解决你的问题,请参考以下文章
web3 (python) 创建的交易不会反映在以太坊区块链上