以太坊地址

以太坊地址是 唯一标识符 unique identifiers,它们是使用单向哈希函数(Keccak-256)从公钥或合约派生的。

在我们之前的例子中,我们从一个私钥开始,并使用椭圆曲线乘法来派生一个公钥:

Private Key k:

  1. k = f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315

Public Key K (X and Y coordinates concatenated and shown as hex):

  1. K = 6e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
Warning

值得注意的是,在计算地址时,公钥没有用前缀(十六进制)04格式化。

我们使用Keccak-256来计算这个公钥的_hash_:

  1. Keccak256(K) = 2a5bc342ed616b5ba5732269001d3f1ef827552ae1114027bd3ecf1f086ba0f9

然后我们只保留最后的20个字节(大端序中的最低有效字节),这是我们的以太坊地址:

  1. 001d3f1ef827552ae1114027bd3ecf1f086ba0f9

大多数情况下,你会看到带有前缀“0x”的以太坊地址,表明它是十六进制编码,如下所示:

  1. 0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9