访问排行榜
谷歌广告
谷歌广告
ETH-BTC-EOS私钥能否相互转换
Author zero | Posted 2019-01-10 19:49:00

ETH-BTC-EOS私钥能否相互转换

前端时间本猿参与了一款钱包软件的开发,负责Android端,底层使用的是GoLang(够浪),keystore相关的技术使用的ETH-Go库,那么问题来了,本猿参与的钱包项目第一个要上的是EOS链,ETH库生成的私钥能否转换成EOS的私钥呢?

从理论上来讲,ETH与EOS的私钥是通用的,底层均为33位私钥,ETH暴露出来的地址样式为:0x36bc2830f08074abd27019a2c3a7197fc9422e59,EOS暴露出来的地址样式为:EOS6x3pXgPk4qUvjwzeDNY2q8vwLN6xqNxKPjrqPqbM583xShYD5r;乍一看毫无联系,其实都是私钥经过一些加密变换产生,表现形式不一样,但是内在相同。

下面本猿详细描述一下ETH私钥转EOS私钥的步骤:

一:使用hex库将ETH16进制私钥转换成byte类型

二:使用btcec库PrivateFromBytes方法传入S256与私钥byte将转换成比特币类型的私钥对象

三:使用eoscanada库NewWif方法传入比特币私钥与EOS私钥ID:0x80将比特币库的私钥转换成EOS库的私钥对象

从上面三个步骤就能看出,比特币私钥做了一个完美中转。有兴趣有动手能力的看官可以考虑自己试一试,可以尝试用同一把私钥管理ETH、BTC、EOS三个链的钱包哦。

开源地址在github上,地址为:https://github.com/zerochl/chain-address

使用方式很简单,准备一台Mac,下载本猿程序,先断开电脑网络(确保安全),打开终端,定位到程序所在当前文件夹,先执行chmod 111 convert,赋予可执行程序权限,然后输入如下三种命令:

一:./convert -cmd create

二:./convert -cmd ethtoeos -private 948be7b7ac1ac60c7956184e81ae8a0082f884e6ec7f273e18e80eae0373602f

三:./convert -cmd eostoeth -private 5Jwi16z6aoErWTL6jG7fASDLPaaib2AjT5NM9o4esVEuuCwJ9Eu

命令一表示生成一把私钥,会给出助记词,ETH私钥,ETH地址,EOS私钥,EOS地址

命令二表示ETH地址转EOS地址,会给出EOS私钥,EOS公钥

命令三表示EOS地址转ETH地址,会给出ETH私钥,ETH公钥

有能力的用户可以用本猿代码自行生成可执行程序,本猿可没有掺杂任何后门哦。

Android+GoLang+SprintBoot探讨群:186305789(疯狂的程序员),绝影大神在等你

个人兴趣网站:zero接码平台

个人兴趣网站:猿指


Comments

comments powered by zero