As I understand, this method sends a transaction to the network. But in order for nodes to verify this transaction, the transaction needs to be signed right?
No where in the parameters of this method call does it indicate a signature of the transaction. The only parameters are from, to, gas, etc. How will nodes be able to verify this transaction?
On a related note, the eth_signTransaction
method takes in just a transaction object, and returns the signed object. But in order to sign, a node must have the private key of the corresponding public key. Obviously, we cannot just give our private key to any random node in the network, so how does this method return the signed object?
I think I am missing something here with regard to digital signatures and private keys.
Best Answer
For
eth_sendTransaction
to work the client receiving the transaction should have the private key for sender address.It is a combination of
eth_signTransaction
andeth_sendRawTransaction
.