Input key =
Output address =
I have been using an algorithm from
keccak-tiny.c by David Leon Gil, with the following change:
0x01 instead of
0x06: 7 bytes of message "testing" give me
5f16f4c7f149ac4f9510d9cf8cf384038ad348b3bcdc01915f95de12df9d1b02 as is in "Which cryptographic hash function does Ethereum use?"
In "Generating an address from a public key" is algorithm, but I have questions:
- how exactly means getPublic,keyFromPublic ?
- before keccak I must convert from a 33-byte key to a 65-byte key (address will be compact-independent) or keccak is applied on hex string text form, not bytes?
- how checksum address with upper/lower case?
How to do it with C++?