keystore文件_WDC地址以及keystore生成逻辑

WDC地址生成逻辑

一、 地址生成步骤

在wdc中,每个用户都可以生成自己的账户地址,账户地址是来自于生成的密钥对,其关系如下:

91a7d773ddb2832acf9bf2aaddcf25c2.png

图1 地址生成

如图1所示,可以看到,在地址生成之前,有两个密钥会先生成,一个是私钥,一个是公钥,这是通过公开密钥算法生成的,在wdc系统中,采用的是椭圆线密码算法,具体说是Curve25519曲线,一个私钥必然对应着一个公钥,私钥必须妥善保存,公钥可以公开,而地址是根据公钥通过一个规则转化而来的。

生成步骤如下:

1)、通过25519曲线算法,生成密钥对,其中获得公钥,长度为32字节

2)、对公钥进行SHA3-256计算,获得结果为s1

3)、取得s1后面22字节,并且根据主网或测试网,分别增加前缀WX或WS,大写表示,获得结果为s2

4)、s2即为原始生成地址

5)、对s2进行地址校验和处理,得到结果s3

6)、s3为生成的地址

关于地址校验和

1)、对于上述步骤生成的s2进行所有字符的小写处理,得到r1

2)、将r1进行SHA3-256计算,得到哈希值r2

3)、将r1与r2进行字符比较,相同位置的字符,若对应哈希值的字符大于0x8则将r1中对应的字符转为大写(若是数字就不变)

4)、转化后的r1就是具备校验和能力的地址

二、 keystore生成逻辑

keystore是用来保存私钥的,其文件格式如下:

{

"address":

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值