Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between sendTransaction and sendRawTransaction in web3.py

Tags:

What are the practical differences between these web3.py methods for sending a transaction?

  • w3.eth.sendTransaction({})
  • w3.eth.sendRawTransaction(signed_txn.rawTransaction)
like image 704
TimRicta Avatar asked Jun 22 '18 10:06

TimRicta


1 Answers

w3.eth.sendTransaction() only supports sending unsigned transactions. In order to use it, your node must be managing your private key. Since the node must manage your key, you must not use it with a hosted node.

w3.eth.sendRawTransaction() requires that the transaction be already signed and serialized. So it requires extra serialization steps to use, but enables you to broadcast transactions on hosted nodes. There are other reasons that you might want to use a local key, of course. All of them would require using sendRawTransaction().

like image 50
carver Avatar answered Oct 02 '22 11:10

carver