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