之前我们学习了如何编译EOS程序,以及如何连接到EOS主网,接下来我们要谈一谈大家最关心的,如何创建自己的EOS账户。
摘要
这篇我们会学习如何创建钱包、秘钥对、主网账户,向大家介绍一些实用工具。最重要的是,我们会学习到在EOS里,公钥和账户到底有什么区别。
第一步:创建钱包
我们使用如下指令创建钱包:
cleos wallet create -n <想创建的钱包名称>
结果如下图:
如果不指定钱包名称,则会创建一个名为default
的钱包。
最下面一行Pw...Xr
就是我们的钱包密码,钱包每900秒就会自动锁定,需要这个密码来解锁。
解锁命令如下:
cleos wallet unlock -n hammerwang --password "PW5JHRWfAus3fMMiKb2fMfhGLPXjwpsDq9ugszGeEYGmsw95UGvXr"
第二步: 创建秘钥对
创建公私钥对很简单,命令如下:
cleos create key
这个命令我们执行两遍(后面解释为什么),显示如下:
第三步: 注册账户
和以太坊和比特币不同的是,公私钥并不意味着账户,而是意味着账户中的权限。(后面我们会单独解释公钥和账户的关系)
在创建账户,我们遇到了一个“先有鸡还是先有蛋”的问题,即想要创建一个EOS账户,必须用另一个EOS账户来完成这事儿。讲真,小白到这儿有点无奈,EOS在国内还比较小众,身边也没个贵圈好友,网上是有一些钱包可以创建EOS账户但需要用以太币来支付……币圈小白再次表示大大的无奈。
试了N个网站之后,终于发现了一个注册EOS账户的好网站,推荐给大家。https://eos-account-creator.com/
进入之后点击get started
,就可以看到如下界面:
1. 给自己账户取个名字吧
给自己取一个账户名吧,12
个字符,输入之后会提示是否available,当然如果你不是很在意账户可读意义的话,也可以点击右上角的I'm feeling lucky
,这时网站会为你随机生成一个可用账户名,取好名字之后点击continue
。
2. 导入公钥
完成上述操作之后,就进入到如下页面:
这时就分别输入我们之前创建的两个公钥吧(注意是公钥哦!私钥自己保存)。
3. 最后一步:付款
和比特币以及以太坊不一样的是,在EOS创建账户是有成本的,这也就是为什么我们需要一个账户才能创建账户的原因(找个人来买单)。
EOS这样设计的初衷是好的,用户不必要为交易买单,而是让dapp运行方来为用户买单。
回到主题,输入完公钥之后,就可以付款啦。在红色方框中,大家可以选择付款方式,对于没有虚拟币的我来说,只能选择信用卡啦(这也是我看到的唯一一个对币圈小白友好的账户注册网站):
可以看到,注册一个EOS账户并不便宜,大概要花费1.5个EOS币。
完成上述三步,我们就拥有了一个属于自己的EOS账户啦!
第四步: 钱包导入私钥
运行如下命令,分别往创建的钱包中导入刚刚创建的2个私钥:
cleos wallet import -n hammerwang 5HsY4tAeGa1eeLv7y7VGAWKhiRd6CCQjxbDg2N1rTwR94VQQbQY
cleos wallet import -n hammerwang 5HxCWqKRd6eS6dLHWFmB28w1Pj5T5wiD67boM4qiR8L1TjRVK48
之后我们运行如下命令来查看钱包中的私钥:
cleos wallet keys
可以看到如下结果:
导入成功!
到此为止,我们就算是正式拥有了一个EOS账户,未来可以基于这个账户做一些有意义的事情:例如转账、投票等。
当然,EOS生态中也有类似以太坊中的metamask
的浏览器钱包应用:scatter。推荐给有需要的小伙伴。
划重点:公钥和账户的关系
在之前注册账户导入公钥的环节,很多玩过以太坊和比特币的小伙伴,应该都会产生相同的疑问:为什么都生成公私钥了,却还是离账户生成差好大一步。以及在创建账户的过程中,导入的owner key和active key到底有什么意义。
1. 为什么公钥≠地址
之前我们在接触比特币和以太坊时,生成地址很简单,只要生成公私钥对即可。币就放在公钥里,知道私钥就可以把币转走。因此这些网络,都不天然支持多签名钱包。即一个钱包只有一个控制人,谁掌握着私钥谁就有实际控制权。
而在EOS中,秘钥对=权限。
一个秘钥对对应了某种权限,即用这个账户做某些特定的事情的权利。举个例子,你生成了一个秘钥对并赋予了它可以通过你的账户买卖RAM,但并不能转账。那么如果你把其中的私钥给了你的朋友,那么他只能为你的账户买卖RAM,而不能操作你账户中的币。
2. 什么是owner key和active key
你可以给你的钱包自定义一些权限用来约束任意事件,但是每个账户都有两个标准权限,即owner
和active
。可以把owner
权限理解成账户的“根权限”,其他人只要拿到你的owner key
,基本上就可以用你的账户做任何事情。而active key
的权限则要小一点,支持除了修改owner
之外的其他操作。
通过上面的解释我们可以看出,EOS有一个巨大的优势:即底层天然支持多签名。
总结
这一章,我们学会了怎样拥有自己的EOS账户。具体通过如下四步:
- 创建钱包
- 创建秘钥对
- 注册账户
- 秘钥对导入钱包
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。