随着 EOS 主网上线,EOS 的钱包成为必要工具,目前支持 EOS 钱包的软件比较少,而大部分开发时间不长,测试使用的时间短,软件成熟性差,对于手中持有大量 EOS 的人来说,风险不小。很多人都不太敢用。
EOS 官方发布的钱包是命令行钱包,安全性应该是能保证的,但是对于小白来说,缺点也很明显。
EOS 命令行钱包的一些缺点:
没有编译好的程序下载,需要从 github 上下载源代码,并且自行编译。
还有就是 EOS 的软件变化很快,网上很多有关 EOS 命令行钱包的文章已经过时,照搬操作有问题。
使用不便,普通用户不习惯。
下面我根据我的命令行钱包使用经验,详细介绍下安装和使用的办法。以 Mac 系统为例,其它系统可能会需要一些调整。有问题的可以在文末留言,大家来一起解决。
如果没有安装 git , 请先下载安装 git , 网址: https://git-scm.com
下载 EOS 源码:
git clone https://github.com/EOSIO/eos --recursive
编译:
cd eos
./eosio_build.sh
安装
cd build
sudo make install
经过编译安装后,就可以使用钱包了。
使用钱包并不需要在本地运行节点,我们可以在 https://eospark.com 这个网站上查询到所有的超级节点列表,在节点列表名称上点击,能够显示节点的一些细节情况:
我们选择使用佳能节点
cleos -u https://mainnet.eoscannon.io get info
{
"server_version": "db031363",
"chain_id": "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
"head_block_num": 2010556,
"last_irreversible_block_num": 2010228,
"last_irreversible_block_id": "001eac74165def938d6da71a4806bf564732283edadffdcf99bfb9710b1e0233",
"head_block_id": "001eadbc12fe5762a192887d8495aa18ebadba94cd1d9165cfdc7a2a26632719",
"head_block_time": "2018-06-22T07:26:49.500",
"head_block_producer": "bitfinexeos1",
"virtual_block_cpu_limit": 200000000,
"virtual_block_net_limit": 1048576000,
"block_cpu_limit": 197661,
"block_net_limit": 1048192
}
确保为主网:chain_id=aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906
我们可以在 .bash_profile 文件中加入以下一行:
alias eos='cleos -u https://mainnet.eoscannon.io'
这样我们输入 eos
就是输入了 cleos -u https://mainnet.eoscannon.io
,以后就不用每次都要加入要连接的节点。
Mac OS: ~/Library/Application Support/eosio/nodeos/data
Linux: ~/.local/share/eosio/nodeos/data
~/
下。rm -rf ~/eosio-wallet
因为新建钱包,导入私钥过程不需要联网,我的做法是断网、重启。在不联网的情况下操作。
新建钱包
cleos wallet create
"/usr/local/bin/keosd" launched
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JVFbLPJJ7VN9ukS2Zjjuq8....hCiUCM5CRXydZaPtjsbGy"
如果使用 cleos wallet create -n 钱包名
,可以自定义钱包的名字,我们可以使用 cleos 建立无数个钱包。当没有定义名字时,使用 default
作为钱包名。
注意:建立钱包时,会给你一个以后用来打开钱包的密码,密码很长,不能自定义,如果保存在电脑里,安全会很有问题,但如果不保存在电脑里,就不能复制粘贴,估计没人愿意一个个把密码敲入吧。
不知道其它人是如何处理这个事情的,我是把它保存在一个文本中,然后加密后放在 u 盘,使用时,断网,打开加密的文件,然后在断网的情况下解锁钱包后。再连网使用。
如果在新建钱包时出现如下问题:
"/usr/local/bin/keosd" launched
Unable to connect to keosd, if keosd is running please kill the process and try again.
这个是 EOS 的一个BUG,可以先删除 keosd 进程:killall keosd
,然后加入 --wallet-url
参数来解决:
cleos --wallet-url http://127.0.0.1:8900 wallet create
导入私钥
cleos wallet import <你的私钥>
可以多建几个私钥备用
使用 cleos create key
生成私钥,然后用cleos wallet import <你的私钥>
导入钱包,备用。
钱包列表:cleos wallet list
私钥列表:cleos wallet keys
复制用户目录下的 eosio-wallet 到 U 盘。将加密过的密码文件也放入 U 盘保存。
断网,重启
打开钱包:
cleos wallet open
插入 u 盘解密文件后输入钱包密码。
解锁钱包:
cleos wallet unlock
好了,接下来我们就可以联网,使用钱包进行转帐等操作。
cleos get accounts <你的公钥>
eos system newaccount --stake-net '0.001 EOS' --stake-cpu '0.02 EOS' --buy-ram-kbytes 3 <自动分配的账户名> <新注册账户名> <你的公钥>
查看账户概要信息(可用资源、投票等)
eos get account <账户名>
permissions:
owner 1: 1 EOS....x
active 1: 1 EOS5.....x
memory:
quota: 7.953 KiB used: 3.365 KiB
net bandwidth:
staked: 9120.6427 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 0 bytes
available: 3.906 GiB
limit: 3.906 GiB
cpu bandwidth:
staked: 9120.6426 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 0 us
available: 13.39 min
limit: 13.39 min
producers: <not voted>
eos get table eosio <账户名> userres
{
"rows": [{
"owner": "ge...uge",
"net_weight": "9120.6427 EOS",
"cpu_weight": "9120.6426 EOS",
"ram_bytes": 8144
}
],
"more": false
}
查看账户抵押信息
eos system listbw <账户名>
Receiver Net bandwidth CPU bandwidth
ge...uge 9120.6427 EOS 9120.6426 EOS
看账户抵押信息
eos get table eosio <账户名> delband
{
"rows": [{
"from": "ge...uge",
"to": "ge...uge",
"net_weight": "9120.6427 EOS",
"cpu_weight": "9120.6426 EOS"
}
],
"more": false
}
查看账户余额
eos get currency balance eosio.token <账户名>
eos get table eosio.token <账户名> accounts
{
"rows": [{
"balance": "10.0000 EOS"
}
],
"more": false
}
eos transfer <转出账户名> <转入账户名> '0.0001 EOS' 'memo'
eos wallet lock
用于少于12字符的短账户名,每24小时只成交一个。
查询短名出价情况
eos system bidnameinfo <短名>
参与竞拍
eos system bidname <本人账户名> <短名> '0.0001 EOS'
查看账户抵押信息
eos system listbw <本人账户名>
可追加抵押增加票数(抵押EOS可分别获得相应网络、CPU资源,票数为两项之和)
eos system delegatebw <本人账户名> <本人账户名> '0.001 EOS' '0.02 EOS'
查看节点清单
eos system listproducers
投票 (可以重新投票,哈哈,终于投了几个自己喜欢的节点)
eos system voteproducer prods <本人账户名> <节点账户名> <节点账户名>
查看账户及投票信息
eos get account <账户名>
撤销抵押(同时撤销相应的票数。三天后到账)
eos system undelegatebw <本人账户名> <本人账户名> '0.001 EOS' '0.02 EOS'