钱包系列教程七】玩转 EOS 命令行钱包

随着 EOS 主网上线,EOS 的钱包成为必要工具,目前支持 EOS 钱包的软件比较少,而大部分开发时间不长,测试使用的时间短,软件成熟性差,对于手中持有大量 EOS 的人来说,风险不小。很多人都不太敢用。

EOS 官方发布的钱包是命令行钱包,安全性应该是能保证的,但是对于小白来说,缺点也很明显。

EOS 命令行钱包的一些缺点:

  • 没有编译好的程序下载,需要从 github 上下载源代码,并且自行编译。

  • 还有就是 EOS 的软件变化很快,网上很多有关 EOS 命令行钱包的文章已经过时,照搬操作有问题。

  • 使用不便,普通用户不习惯。

下面我根据我的命令行钱包使用经验,详细介绍下安装和使用的办法。以 Mac 系统为例,其它系统可能会需要一些调整。有问题的可以在文末留言,大家来一起解决。

一、安装命令行钱包

1、下载 EOS 源代码

  • 如果没有安装 git , 请先下载安装 git , 网址: https://git-scm.com

  • 下载 EOS 源码:

    git clone https://github.com/EOSIO/eos --recursive
    

2、编译安装

  • 编译:

    cd eos
    ./eosio_build.sh
    
  • 安装

    cd build
    sudo make install
    

二、使用钱包

经过编译安装后,就可以使用钱包了。

1、联接主网测试

使用钱包并不需要在本地运行节点,我们可以在 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

2、简化命令行使用

我们可以在 .bash_profile 文件中加入以下一行:

alias eos='cleos -u https://mainnet.eoscannon.io'

这样我们输入 eos 就是输入了 cleos -u https://mainnet.eoscannon.io,以后就不用每次都要加入要连接的节点。

3、准备使用钱包

  • 如果以前测试运行过节点,使用钱包时有可能会出错,这时可以删除以下目录
    Mac OS: ~/Library/Application Support/eosio/nodeos/data
    Linux: ~/.local/share/eosio/nodeos/data
    
  • 如果以前用过 cleos 建立过钱包文件,可以删除钱包文件,钱包文件在用户目录~/下。
    rm -rf ~/eosio-wallet
    

4、新建钱包

因为新建钱包,导入私钥过程不需要联网,我的做法是断网、重启。在不联网的情况下操作。

  • 新建钱包

    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 <你的私钥>导入钱包,备用。

5、最后备份钱包文件

钱包列表:cleos wallet list
私钥列表:cleos wallet keys

复制用户目录下的 eosio-wallet 到 U 盘。将加密过的密码文件也放入 U 盘保存。

6、开始使用钱包

  • 断网,重启

    打开钱包:

    cleos wallet open

    插入 u 盘解密文件后输入钱包密码。

    解锁钱包:

    cleos wallet unlock
    
  • 好了,接下来我们就可以联网,使用钱包进行转帐等操作。


1、查询主网自动分配的账户名

cleos get accounts <你的公钥>

2、注册新账户,账户名必须12位字符(可用字符:12345abcdefghijklmnopqrstuvwxyz)

eos system newaccount --stake-net '0.001 EOS' --stake-cpu '0.02 EOS' --buy-ram-kbytes 3 <自动分配的账户名> <新注册账户名> <你的公钥>

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
    }
    

    4、EOS转账

eos transfer <转出账户名> <转入账户名> '0.0001 EOS' 'memo'

5、关闭钱包

eos wallet lock

6、竞拍短名

用于少于12字符的短账户名,每24小时只成交一个。

  • 查询短名出价情况

    eos system bidnameinfo <短名>

  • 参与竞拍

    eos system bidname <本人账户名> <短名> '0.0001 EOS'

7、投票

  • 查看账户抵押信息

    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'

参考:
5分钟学会注册EOS主网账户、投票和发币

目录

猜你喜欢

转载自blog.csdn.net/pj169/article/details/80781685