我想创建一个没有私钥的以太坊地址0x.....
。显然,一种方法是从一个纸钱包中生成一个,然后扔掉钥匙。
但是有没有另一种方法来创建一个没有密钥?(我不确定以太坊区块链是否会检查0x
前缀之外的地址的有效性)
一个有效的以太坊地址是以0x
开头的20字节数的校验和十六进制表示。
所以0x0000000000000000000000000000000000000000
和0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF
之间的任何东西都是有效的以太坊地址。
您可以使用openssl或类似的工具生成一个随机的20字节数:
openssl rand -hex 20
输出示例:b69c34f580d74396daeb327d35b4fb4677353fa9
然后校验和:
此区分大小写用于校验和验证。将该地址与地址字节的原始二进制keccak-256哈希进行比较,如果在与"1"位相同的对应位置有字母,则该字母大写。
来源:https://coincodex.com/article/2078/ethereum-address-checksum-explained/
比计算哈希值并根据该哈希值调整字母大写更容易的是,使用一个库为您生成校验和地址(从非校验地址)-例如web3.js
输出示例:0xB69c34f580d74396Daeb327D35B4fb4677353Fa9
你有一个有效的地址,而不知道私钥。