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))
Best Answer
You'll need to add chainId to your transaction object to save your tx from being replayed on other chains.
Check here for chain IDs of all EVM based chain