这是本人在学习EOS 开发环境搭建过程中整理的一篇文章,原文发表在个人博客“区块链学习小栈”上(www.blockcamp.net). 如有错漏的地方,欢迎指正.
前段时间EOS 公链上线了,不少看好EOS 前景的投资者也开始考虑长期投资EOS 资产了(现在主要是EOS 代币)。
EOS 的安全风险有很多。特别是很多在众筹期间参与EOS 映射的网友,他们的EOS 密钥都是在EOS 映射期间匆匆忙忙在网上产生的。大部分网友对EOS 的账号,密钥,钱包的概念以及之间的关系也没有来得及理解。这为EOS的资产安全管理带来了很多挑战。
EOS 其实没有冷钱包的概念,代币EOS 由账号管理,所以EOS 的冷钱包其实就是一个安全账号。
本文假设你已经参加过EOS 的映射,有了一个EOS 的账号(很多账号名都是g4开头的),但是账号的密钥是在网上在线产生的,有存在被偷窃的危险。如果你准备长期保存相当数量的EOS代币,希望有一个更加安全的账号。那么本文或许将对你有所帮助。
EOS安全账号创建的的关键点:
- Owner /active两对密钥对(包括公钥和私钥)必须在离线状态下产生;
- 私钥从产生那天开始,一直只保留在纸备份上面,不跟任何有网络连接或者平台上有接触;
- 查询账号下的资产只通过网上工具,不在任何第三方钱包(包括麦子钱包或者imtoken) 内导入这两个私钥);
- 假设你的电脑和手机都有木马或病毒,也不能通过粘贴板,键盘记录,摄像头等设备偷取你的私钥。
- 直到某一天,你需要动用这个账号里的资产时,将你保留在纸上的私钥导入任何钱包应用,你就可以立即发起交易。
这种EOS 安全账号合适哪些用户?
EOS 安全账号在导入钱包之前,无法发起交易,主要用途是用于长期保管EOS 代币,合适长期持币收藏的投资者,不合适交易型的短线投资人士。
在制作一个EOS 钱包之前,最好先去了解一下EOS的密钥,账号与钱包三者的概念及其关系,这对于理解EOS 冷账号的制作很有好处。
制作EOS 安全账号主要由以下几个步骤:
- 安装EOS 套件,其中包括cleos, nodeos, keosd.
- 使用cleos离线产生密钥对,手工抄录备份私钥;
- 在Dapp World上查询新账号名是否可以;
- 安装Scatter插件;
- 使用公钥在网上创建EOS 新账号并确认。
安装EOSIO 套件
以下是Ubuntu 系统下安装EOSIO 的步骤,其他平台请参考网上的教程。
官方指南:https://developers.eos.io/eosio-nodeos/docs/getting-the-code
打开终端界面:
git clone https://github.com/eosio/eos --recursive // 获得源码
cd eos //进入源码子目录
./build.sh ubuntu //构建EOSIO套件
image
成功构建项目之后,进入eos\build\programs\cleos子目录,看看是否有cleos 可执行程序。
image
其实完成这个安装步骤后,已经安装了EOS 的套件,包括cleos, nodeos 和keosd, 但我们现在暂时只需要用到cleos.
获取密钥对
断开电脑的网络,关闭WIFI或拔出网线,在终端界面进入eos\build\programs\cleos子目录,执行以下命令 ./cleos create key, 即可产生一对密钥,再次执行同样的命令,再次产生另一对密钥。
image
好了。现在两对密钥已经产生,不要立即拷贝到其他文件保存。
- 先用纸笔把两对公钥和私钥(privatekey)抄到纸上,注意英文字母的大小写。建议连续抄两次;
-
抄好私钥之后,用鼠标右键拷贝两个公钥( publicKey)(注意:只拷贝公钥)到其他文件,可以是笔记本或者word,excel文档备用;将其中一个设为owner, 另一个设为active.
image - 在纸备份的私钥上注明,哪个公钥是owner,哪个公钥是active. 纸备份应该再次誊写,注明产生日期,并留点空间用于加注账号信息。
- 电脑关机重启,接上网线或者WIFI。
- 离线产生密钥对的任务完成。
以上步骤保证了密钥对是在离线的情况下产生,期间避免私钥拷进粘贴板,而且电脑重启后清空缓存信息。保证私钥不会暴露在任何电子媒体的接触下。
安装Scatter插件
安装scatter插件需要用到科学上网工具。
Scatter插件类似以太坊的metamask,是安装在浏览器上的一个插件钱包。
imageScatter插件安装过程不是很困难。但要注意几点:
a. 由于天朝的政策,需要科学上网工具才能登陆Chrome市场;
b. 注意从Scatter官网开始安装插件,小心钓鱼网站套取你的私钥;
c. 由于Scatter是一个轻型钱包,创建账号需要你已经拥有的(例如在EOS映射时备份的)EOS 私钥;
到Dapp World查询可用的账号名
http://www.dappworld.com/api/v1/eos/account
我们这里以anameoffline为例子,查询它是否已经被注册。
很好,它是可用的!
到EOSTOOLKIT.IO创建新账号
EOSTOOLKIT的澳大利亚GenerEOS 旗下的EOS工具网站,为EOS 网友提供一些实用的EOS 工具,包括查找账号,创建账号已经账号管理,短账号名抢拍等工具。
导入旧账号,点击浏览器右上角的Scatter小图标,
image输入密码,
image解锁scatter.
image点击屏幕左上角的“Attach an Account” ,选择”Connect Account”,
image弹出确实窗口,点击“选择身份”,然后再点击“接受”。
image这样左上角“Attach an Account” 现在就变成了你的EOS 账号了。
image点击“Create Account”
进入账号创建界面,可以看到,“owner”栏已经填写好,是你的旧账号了。
其中新账号名和两个新公钥的栏目需要非常小心填写:
imageA. “New Name Account”, 填写你已经选好并确认还没有被其他人注册的账号名称
。再这里我们继续使用“anameoffline”这个名字作为例子。
B. “Owner Public Key”, 这里填写在之前生成好的两个公钥中owner那一个。可以用拷贝/粘贴工具,公钥很长,手填不方便。
C. “Active Public Key” 这里填写在之前生成好的两个公钥中active那一个。
(注意: 上面两个都是填写新账号的公钥,不是私钥,也不是旧账号的公钥)
D. “Net stack”/”CPU stack” 不用改,都是0.1. “RAM purchase” 默认是8192,我一般填3600就够了。
E. 好了,再次检查所有填写的内容。如果没有问题就点击“CREATE”
F. 弹出一个确认窗口,点击“接受”
image查询新账号
在成功创建好新的账号名之后,点,击账号搜索按键“Find Account”, 在左边“SEARCHACCOUNT”中填写
你的新的账号名,点击”SEARCH”, 就会出来你的账号信息。
由于账号是空的,“Token Balance” 显示 No Balance.
image点击下方的”Show JSON”,
将会显示以下账号的详细资料。
image请你查看此账号的owner 和active 的“key” 值,是不是你自己的公钥对。如果正确,恭喜你,你的EOS 安全账号创建任务已经完毕!
现在你可以往这个账号转入EOS 资产了。转入之后,你可以用网上的在线工具查询这个账号名下的资产,但在网络中任何地方,没有这个账号的私钥存在,包括你的手机,电脑。
查询工具有很多,包括:
http://eosflare.io/
https://eostoolkit.io/search
(作者邮件:jimmy.zh@outlook.com)
网友评论