web3 python 以太坊原始交易

Posted

技术标签:

【中文标题】web3 python 以太坊原始交易【英文标题】:web3 python ethereum raw transaction 【发布时间】:2021-10-02 11:46:56 【问题描述】:

我在尝试使用我的本地 geth 节点发送以太坊时遇到此错误。

ValueError: 'code': -32000, 'message': 'insufficient funds for gas * price + value'

这是我构建 tx 的方式

from web3 import Web3

w3 = Web3(Web3.HTTPProvider("http://localhost:8545"))

amount = 0.01
from_address = "0xF2........."
private_key = "cf.........."
address_to = "0x..."
nonce = w3.eth.getTransactionCount(from_address)

tx = 
  'from': from_address,
  'to': address_to,
  'value': w3.toWei(amount, 'ether'),
  'gas': 21000,
  'gasPrice': w3.eth.gas_price,
  'nonce': nonce,
  'chainId': 1

signed_txn = w3.eth.account.sign_transaction(tx, private_key=private_key)
send = w3.eth.sendRawTransaction(signed_txn.rawTransaction)
txid = send.hex()

我的以太坊账户有超过 2 个可用的 ETH 我究竟做错了什么?谢谢!

【问题讨论】:

【参考方案1】:

节点错误不是说谎,所以节点不认为你有 2 ETH 可用。

您可以通过web3.eth.getBalance() 轻松查看您有多少可用空间。

【讨论】:

以上是关于web3 python 以太坊原始交易的主要内容,如果未能解决你的问题,请参考以下文章

如何读取以太坊交易的数据字段

发送以太坊交易,Web3.js 没有源地址,但有源私钥?

如何在 web3 中使用 transactionHash 从以太坊交易中读取信息?

以太坊/BSC 区块链交易数据

以太坊如何使用web3.js或者rpc接口获取交易数据交易时间与确认数?

如何通过web3.js通过余额获得前N个以太坊账户?