In my application I have to manually verify certain transaction signatures on the ethereum blockchain. Atm I am running geth and parity nodes and query transaction information via the rpc interface but it seems to be missing the ecdsa sig params.
From what I see, both geth and parity do not seem to expose signature parameters via the rpc interface like bitcoind does (it exposes the input and output scripts with get_rawtransaction
). Is there an easy way to access them or do both geth and parity strip signatures in their local blockchain caches once signatures were verified for some reason? I am wondering because even ecp only seems to parse the raw transactions from blocks into txhash
,rcpt
,from
,amount
,price
,gaslimit
,payload
(=data), blockid
missing the signature params (or are they hidden in the payload field?).
What would be an option to get complete raw transaction information as if I'd just signed it with web3.eth.sign()
?
Best Answer
In the transaction object returned by
eth_getTransaction
to my geth instance does include the ECDSA parameters:Note the
v
,r
, ands
parameters: these are what you need to verify the signature. I'm not sure why these aren't in the official RPC spec, but they are available if you need them