如果你不像我么神经质;),那么不用继续阅读以下内容。 哈哈为了大家有的看不到steemit我只能自己再翻译一遍我在steemit上写的英文到中文。
大多数人第一次通过包括我在内一开始eos.io官方网站生成密钥,然后我开始担心我使用的是VPN,即使我在网页生成密钥之前断开了网络连接,我担心VPN不安全,并且网站也不会告诉我密钥是否经过验证(也许它们已经过验证,我想, 因为js代码有eosjs-ecc的东东) 所以我决定设法自己离线生成这些密钥。
我发现官方EOSIO github已经有一些工具可以帮助生成和验证密钥。
对于下面 1)和 2)我在Ubuntu 18.04上测试了。当然,你需要安装nodejs,npm,git,curl等,我不会在这篇文章中介绍这些 , 有问题留言吧
方法1:使用 https://github.com/EOSIO/eosjs-ecc中的eosjs-ecc 工具 。
该wiki已经有安装步骤:
git clone https://github.com/EOSIO/eosjs-ecc.git
cd eosjs-ecc
npm install
npm run build_browser
a. 要生成私钥/公钥,请在包含内容的eosjs-ecc / dist文件夹下创建一个html文件
<!DOCTYPE html>
<html> <head> <script src=eosjs-ecc.js></script> </head> <body> <script> var ecc = eosjs_ecc ecc.randomKey().then(privateKey => { document.write('私钥:') document.write(privateKey) document.write("<p>") document.write('公钥:') var pubkey = ecc.privateToPublic(privateKey) document.write(pubkey) }) </script> </body> </html>
并打开html文件,就会显示一对密钥
b) 要验证私钥/公钥,请在包含内容的eosjs-ecc / dist文件夹下创建另一个html文件
<!DOCTYPE html> <html> <head> <script src=eosjs-ecc.js></script> </head> <body> <script> var ecc = eosjs_ecc var privateKey = '在这里写上你的私钥' var pubKey = ecc.privateToPublic(privateKey) document.write(pubKey) document.write("<p>") document.write(privateKey) var expected_pub = '在这里写上你的公钥' if (pubKey === expected_pub) { document.write('<p>匹配') } else { document.write('<p>不匹配, 正确的公钥是:') document.write(expected_pub) } </script> </body> </html>
方法2: 在创作中使用EOS密钥工具工具https://github.com/EOSIO/genesis/tree/master/tools/keys
a)安装时,请使用wiki中的方法2而非方法1
npm install -g electron-packager
npm run compile
b)运行它,你可以去运行tools/keys/build/EOSXXXXXXXXX/EOSXXXXXX 执行文件,注意XXXXX不是文件名,它表示我不记得具体的名字了,你应该很容易找到
点击生成器生成密钥 并单击验证器验证密钥
方法3:使用 Scatter是一款提供google chrome exention的工具 https://scatter-eos.com/
安装Chrome的scatter插件,然后创建您的帐户后
点击右上角的设置按钮 你可以看到密钥对按钮,点击它,你可以在用户界面上生成或验证,它甚至会告诉你,如果你的公钥 或私钥不是有效的或不匹配
鉴于以上,我所做的是
1.使用Virtualbox创建虚拟机
2.安装Ubuntu 18.04
3.在线克隆所有github源代码
4.并按照步骤进行设置
5.安装 scatter
6.断开网络连接
7.使用方法1生成私钥/公钥
8.使用方法2和3来验证我的私钥和公钥(我如此神经质也是没谁了 哈哈哈)
当然对大部分人来说,方法1和方法2 真的不适合,需要一些程序员的基础
那么就用方法3吧,找一台不联网的机器产生和验证秘钥,结束后从chrome移除scatter插件