If you were writing some instructions and one of them was:

Provide the Ethereum ECDSA signature of the file using the person's Ethereum address.

Would the above instruction have a consistent meaning (i.e. always produces the same output for a given file and address)? I ask because there appears to be subtly different implementations.

If not, what wording could you use to give it a consistent meaning? Perhaps with reference to EIPs...


1 Answer 1


I used:

Provide the prefixed Ethereum ECDSA signature* of the hex encoded file using the person's Ethereum address.

*As per sign(keccak256("\x19Ethereum Signed Message:\n" + dataToSign.length + dataToSign))) (e.g. web3.personal.sign)

I think just using "Ethereum ECDSA signature" leaves ambiguity between above and the un-prefixed signature which is considered risky (for reasons I'm unsure of atm).

  • 1
    Yes, those additional details you provided is much better. Also, welcome back! (Did not recognize your username immediately.)
    – eth
    Aug 11, 2020 at 1:53

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .