Tokens
ValueError: {‘code’: -32000, ‘message’: ‘invalid sender’} 使用 web3.py 呼叫 transferFrom 時
我想製作一個功能,允許您將令牌從一個所有者發送到另一個所有者。
nonce = w3.eth.getTransactionCount(from_['address']) unsigned_transaction = contract.functions.transferFrom( from['address'], to['address'], 1 ).buildTransaction({ 'chainId': 1, 'gas': 70000, 'gasPrice': w3.toWei('1', 'gwei'), 'nonce': nonce, }) signed_transaction = sign_transaction( unsigned_transaction, from['private'] ) tx_ref = send_transaction(signed_transaction)
但我收到以下錯誤:
ValueError: {‘code’: -32000, ‘message’: ‘invalid sender’}
我究竟做錯了什麼?
在這種情況下,發件人是誰?他究竟怎麼了?
這是“chainId”問題。主網是 1,ropsten 是 3
此錯誤消息直接來自乙太坊節點,而不是 web3.py:
ValueError: {'code': -32000, 'message': 'invalid sender'}
我的直覺是
from['address']
您的乙太坊節點上沒有配置帳戶 - 未導入私鑰。因此,您的乙太坊節點無法簽署交易並將其發送。