Ethereum 地址
Ethereum中的用户账号地址表示为0x加上大小40的十六进制的字符,如0xeC2804Dd9B992C10396b5Af176f06923d984D90e,该地址中的字母既有小写也有大写,这是因为Ethereum引入了EIP55改进,即使用一种大小写混用的地址表示方法,该方法隐含了一个校验和能够验证该地址的有效性。
编码规则
十六进制编码的地址(0123456789abcdef),如果它的第 i 位是字母(即 abcdef 之一)并且地址所对应的哈希值
(十六进制地址的哈希值)的第i/2位对应字节的第4个bit位,如果该位1则表示为大写否则表示为小写形式。
编码
地址校验
地址生成
Ethereum的每个账号对应一个以太坊的公私钥对,私钥是通过secp256k1曲线生成的,secp256k1是一个椭圆曲线算法,使用与比特币相同的曲线算法,私钥可以推导出公钥,对公钥进行SHA3-256哈希(哈希结果大小32字节)取其中后20个字节表示位用户地址,并地址应用EIP55方式编码成Ethereum账户地址。