I'm trying to wrap my head around how signing transactions actually works. As I understand ECDSA signatures roughly work like this: There is a magic function, let's call it sign
that takes two parameters. The private key
and the message
. It outputs the signature or in the case of web3.py or web3.js, three weird values v
, r
, and s
.
So when users sign a message they are basically signing a blob of data which is the message
value in the sign
function. Am I correct in this assumption?
So when users sign a message they are basically signing a blob of data which is the message value in the sign function. Am I correct in this assumption?
How can I access that data blob? Is it possible to get it from a public transaction via web3?
I found this article and there it says that the data hash that will be signed is created from rlp + hash
. Has anyone an idea what rpl
means or how to get the output hash with web3?