解决办法
You'll need to add chainId to your transaction object to save your tx from being replayed on other chains.
tx = {
'chainId': 3, // for ropsten
'nonce': nonce,
'to': account_2,
'value': web3.toWei(float_amount, 'ether'),
'gas': 21000,
'gasPrice': web3.toWei(50, 'gwei')
}
Check here for chain IDs of all EVM based chain
问题:
Good afternoon, after having been developing a blockchain web app for some months, it's the first time I get this error when making a transaction.
ValueError: {'code': -32000, 'message': 'only replay-protected (EIP-155) transactions allowed over RPC'}
This is my code. It has always worked, and I guess it's not a matter of code, it might be just a matter of Web3, but I'm asking just in case. Thanks in advance.
tx = {
'nonce': nonce,
'to': account_2,
'value': web3.toWei(float_amount, 'ether'),
'gas': 21000,
'gasPrice': web3.toWei(50, 'gwei')
}
signed_tx = web3.eth.account.sign_transaction(tx, private_key)
tx_hash = web3.eth.send_raw_transaction(web3.toHex(signed_tx.rawTransaction))
原文:
https://ethereum.stackexchange.com/questions/94412/valueerror-code-32000-message-only-replay-protected-eip-155-transac |