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
    Commented Aug 11, 2020 at 1:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.