在之前的帖子中,我尝试了编译EOS程序,以及连接到EOS主网,然后我们来继续学习一下钱包操作。
(图源 :pixabay)
说到钱包操作,不得不提一件特别让人郁闷的事情,如果当初EOS主网上线之前,我的以太钱包中有EOS并且做好了映射,那么主网上线后会自动帮我注册一个用户,然后就可以用这个用户愉快的玩耍了。
可惜之前懒惰了一下,没考虑太多,都扔交易所了,然后就是主网上线后我并没有一个可用的EOS账户,这就比较尴尬了。不过我虽然没有EOS账户,但是我有朋友啊,喊朋友帮忙注册了一个账户,再给我放进去几个EOS,账户也有了,EOS也有了,美滋滋。
这节我们来学一下EOS钱包的简单操作。
keosd
在bitshares或者steem中,和命令行程序打过交道的都会接触过cli_wallet,那么这个keosd又是啥玩意,我理解呢其实keosd就是用来管理钱包和私钥的,而cleos+keosd的效果等同于bitsahres或者steem中的cli_wallet.
(图源:https://developers.eos.io/eosio-nodeos/docs/overview-1)
按官网文档的说法,keosd会随cli_wallet自动加载和启动,但是我这边测试直接用的话,却总提示:
"/home/xxxx/eos/build/programs/keosd/keosd" launched
Unable to connect to keosd, if keosd is running please kill the process and try again.
所以先老实的启动keosd吧,keosd的配置文件以及钱包的存储路径为:
~/eosio-wallet/
如果这个路径尚不存在,运行一下keosd再关闭即可。
编辑上述目录下的config.ini
http-server-address = 127.0.0.1:8900
将keosd监听端口改为8900,这样我们在使用cleos命令时候就无需指定钱包url和端口啦。执行如下命令启动keosd
keosd&
创建钱包 & 解锁
我们可以使用如下指令创建钱包:
cleos wallet create -n test
如果不指定钱包名,则创建default钱包。
注意保管好钱包密码,钱包每900秒自动锁定,需要使用这个密码来解锁。
解锁钱包命令如下:
cleos wallet unlock -n test
按提示输入上述保存的密码即可。
创建KeyPair
在进一步了解钱包功能之前,我们需要有一个EOS账户,比如说找朋友注册。但是找朋友注册朋友如何给你设置密码呀?涉及钱财总要谨慎一点,即便双方都不在意,但是万一被黑客盗取了,这事说不清呀!
其实很简单,创建KeyPair,把公钥给朋友用来注册EOS账户,私钥我们自己留着就好,既方便又安全。
创建公私钥对是很简单的,只需执行如下命令即可:
cleos create key
然后就会提示我如下密钥对,公钥可以拿去给朋友啦。
Private key: 5JbJL9YXgX4Sot69FMWHhdqowdpxMgLfju2aVtjW7mRKcmaidSE
Public key: EOS64g4ueRf6EsBL4ZfnPU9HppJMHzZJ2o9Qhzm5AWjrX4byp9ijT
(注:上述公私钥仅为演示,千万不要拿去使用)
注册账户
如果你有系统分配好的用户,并且已经在钱包中导入了对应私钥,那么你可以用来注册新账户了
cleos system newaccount --stake-net '0.01 EOS' --stake-cpu '0.01 EOS' --buy-ram-kbytes 8 <自动分配的账户名> <新注册账户名> <你的公钥>
这个net、cpu、ram的机制我还有点晕,不过初学者嘛,相信我慢慢就会懂的。
这步其实是朋友帮我操作的,现在我有了一个EOS账户以及对应的公私钥。
钱包导入私钥
那么怎样将我的账户放入到钱包呢,其实只要在钱包中导入私钥即可。
cleos wallet unlock -n test
cleos wallet import -n test 5JbJL9YXgX4Sot69FMWHhdqowdpxMgLfju2aVtjW7mRKcmaidSE
我们可以使用如下命令来查看我们导入的私钥对应的公钥
cleos wallet keys
看起来是没啥错误的。
钱包其它操作
钱包的用法及命令如下所示:
或者查看以下链接:
https://developers.eos.io/eosio-cleos/reference#cleos-wallet
搞定了钱包,我们就可以做好多操作了,比如说注册账户、转账、给BP投票啥的,具体的这里就不多讲了。