时间:2021-12-29|浏览:606
在这篇文章中,大家会演试应用这一私钥来得到公布地址,及其与该私钥相匹配的以太坊钱夹地址。根据私钥来得到比特币钱夹地址的实际步骤有一些繁杂,因而大家会叙述简单化后的版本号。大家必须应用一个哈希函数去得到公钥,还要应用另一个函数公式去得到地址。如今,使我们现在开始。公钥这一部分资源和以前探讨比特币的内容中所指的同样,因此假如你早已看完了,那麼就可以绕过(除非是你要想备考一下)。最先,大家必须在私钥上应用 ECDSA,即椭圆曲线数字签名优化算法。
椭圆曲线是根据 y² = x³ ax b 公式计算得到的,在其中 a 和 b 可以自定。椭圆曲线大家族有很多著名而且广泛运用的实例。比特币应用了 secp256k1 曲线图,有关椭圆曲线密码算法,假如你要认识大量,可以参照此文章内容。以太坊应用了一样的椭圆曲线,secp256k1,因而针对比特币和以太坊而言,得到公钥的步骤是一致的。对私钥作了 ECDSA 计算以后,大家取得了 64 字节数的整数金额,这也是由2个 32 字节数的整数金额串连构成,意味着了椭圆曲线上某一点的 X 值和 Y 值。在 Python 程序流程中,编码表明如下所示:private_key_bytes = codecs.decode(private_key, ‘hex’)# Get ECDSA public keykey = ecdsa.SigningKey.from_string(private_key_bytes, curve=ecdsa.SECP256k1).verifying_keykey_bytes = key.to_string()key_hex = codecs.encode(key_bytes, ‘hex’)留意:从以上的编码可以看得出,我应用了 ecdsa 控制模块并根据伺服电机编解码了私钥。那样写大量是由于 Python 的关联,而与优化算法自身不相干,为免误会。