美文网首页量化
EOS钱包使用说明

EOS钱包使用说明

作者: 廖全磊LesterLiao | 来源:发表于2018-07-07 19:21 被阅读9566次

    一、安装命令行钱包

    1、下载 EOS 源代码

    2、编译安装

    • 编译:

    cd eos
    ./eosio_build.sh

    • 安装

    cd build
    sudo make install</pre>

    二、使用钱包

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

    1、联接主网测试

    使用钱包并不需要在本地运行节点我们可以在 https://eospark.com 这个网站上查询到所有的超级节点列表在节点列表名称上点击能够显示节点的一些细节情况:

    image

    我们选择使用佳能节点

    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 盘解密文件后输入钱包密码。

    解锁钱包:

    cd eos
    ./eosio_build.sh

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

    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、查看账户信息

    • 查看账户概要信息(可用资源、投票等)

    cd eos .
    ./eosio_build.sh

    1、查看账户抵押信息

    cd eos
    ./eosio_build.sh

    2、 看账户抵押信息

    cd eos
    ./eosio_build.sh

    3、查看账户余额

    cd eos
    ./eosio_build.sh

    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主网账户、投票和发币

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

    第一步: 安装docker

    https://www.docker.com/community-edition

    install docker for CentOS. (其他操作系统看上面链接)

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce
    sudo service docker start
    
    

    第二步:部署EOS钱包服务

    1. 下载EOS官方镜像
    docker pull eosio/eos
    
    

    2. 创建钱包目录后续生成的钱包文件均保存在该目录下

    mkdir -p /data/eosio/eosio-wallet
    
    

    3. 创建钱包服务

    如果曾经创建过keosd容器需要先删除

    docker stop keosd
    docker rm keosd
    
    

    创建keosd容器启动服务

    docker run -d --restart=unless-stopped --name keosd   \
      -v /data/eosio/eosio-wallet:/opt/eosio/bin/data-dir  \
      -v /data/eosio/eosio-wallet:/root/eosio-wallet \
      -t eosio/eos /opt/eosio/bin/keosd  \
      --wallet-dir /opt/eosio/bin/data-dir \
      --http-server-address=127.0.0.1:8900 
    
    # 查看日志
    docker logs keosd
    
    

    第三步:创建本地钱包并导入私钥

    1. 创建EOS操作命令cleos别名(请选择可信的正式节点接入地址

    alias cleos='docker exec -i keosd /opt/eosio/bin/cleos  --wallet-url http://127.0.0.1:8900  -u http://mainnet.eoscalgary.io  '
    
    # 查看主网信息
    cleos get info
    
    # 确保为主网:chain_id=aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906
    
    

    eospark.com收集了各节点接入地址端口。以下地址供参考验证:
    http://mainnet.eoscanada.com
    http://mainnet.eoscalgary.io
    http://mainnet.eoscannon.io
    http://mainnet.genereos.io

    2. 创建钱包记录钱包密码以备将来使用(钱包存在本地/data/eosio/eosio-wallet目录下)

    cleos wallet create -n my
    
    

    钱包一段时间不用会自动锁定再次使用需要用钱包密码解锁

    cleos wallet unlock -n my
    
    

    3. 导入私钥(私钥保存在钱包内用于对交易签名不会向外泄露)

    cleos wallet import -n my <你的私钥>
    
    

    4. 必要时可创建新的密钥对(可用于新建账号或变更权限记得妥善抄写保存私钥)

    cleos create key
    
    # 确保密钥抄写无误,对照抄写的密钥进行导入,切勿复制粘贴
    cleos wallet import -n my <新私钥>
    
    

    第四步:注册EOS账户名

    1. 查询主网自动分配的账户名
    cleos get accounts <你的公钥>
    
    

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

    # 抵押0.001EOS用于网络,0.02EOS用于CPU,购买3k内存(约0.0465EOS)可满足新账户转账最低资源需求 
    cleos system newaccount --stake-net '0.001 EOS' --stake-cpu '0.02 EOS' --buy-ram-kbytes 3 \
      <自动分配的账户名> <新注册账户名> <你的公钥>
    
    

    3. 查看账户信息

    # 查看账户概要信息(可用资源、投票等)
    cleos get account <账户名> 
    cleos get table eosio  <账户名>  userres
    
    # 查看账户抵押信息
    cleos system listbw <账户名> 
    cleos get table eosio <账户名>  delband
    
    # 查看账户余额
    cleos get currency balance eosio.token  <账户名> 
    cleos get table eosio.token <账户名>  accounts
    
    

    4. EOS转账

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

    5. 竞拍短名(少于12字符的短账户名需竞拍每24小时只成交一个。目前只能出价主网激活14天后才正式交易)

    # 查询短名出价情况
    cleos system bidnameinfo  <短名> 
    
    # 参与竞拍
    cleos system bidname <本人账户名>  <短名>  '0.0001 EOS'
    
    
    1. 账户转让(变更账户active和owner)
    # 变更账户active权限为对方公钥
    cleos set account permission <转让账户名> active '{"threshold":1,"keys":[{"key":"<对方公钥>","weight":1}]}' owner
    
    # 或变更账户active权限为对方账户名(active权限)
    cleos set account permission <转让账户名> active '{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"<对方账户名>","permission":"active"},"weight":1}]}' owner
    
    # 变更操作消耗网络和CPU资源,如提示不足需追加:
    cleos system delegatebw <本人账户名>  <转让账户名>  '0.001 EOS' '0.02 EOS'
    
    

    变更active权限后对方已经可以操作可以通过小额转账进行验证

    cleos transfer <本人账户名>  <转让账户名>  '0.0001 EOS' 'memo'
    
    # 通知对方做以下转出操作,确保对方密钥无误
    cleos transfer <转让账户名>  <本人账户名>  '0.0001 EOS' 'memo'
    
    

    确认对方可以转出后再执行下一步变更owner以免密钥错误账户永久丢失

    # 变更账户owner为对方公钥
    cleos set account permission  <转让账户名>  owner '{"threshold":1,"keys":[{"key":"<对方公钥>","weight":1}]}' -p <转让账户名>@owner
    
    # 或变更账户owner为对方账户名(owner权限)
    cleos set account permission <转让账户名>  owner '{"threshold":1,accounts":[{"permission":{"actor":"<对方账户名> ","permission":"owner"},"weight":1}]}' -p <转让账户名>@owner
    
    

    第五步:投票

    1. 查看账户抵押信息
    cleos system listbw <本人账户名> 
    
    

    2. 可追加抵押增加票数(抵押EOS可分别获得相应网络、CPU资源票数为两项之和)

    cleos system delegatebw <本人账户名>  <本人账户名>  '0.001 EOS' '0.02 EOS'
    
    

    3. 查看节点清单

    cleos system listproducers
    
    

    4. 投票 (可重新投票。散户投票策略:只投21名之后的节点。锦上添花不如雪中送炭)

    cleos system voteproducer prods <本人账户名>  <节点账户名> <节点账户名> ……
    
    

    5. 查看账户及投票信息

    cleos get account <账户名> 
    
    

    6. 赎回抵押(同时撤销相应的票数。三天后到账)

    cleos system undelegatebw <本人账户名>  <本人账户名>  '0.001 EOS' '0.02 EOS'
    
    

    7. 领取退款(三天后执行退款操作将赎回款转入账户余额)

    cleos push action eosio refund '["<本人账户名>"]' -p <本人账户名> 
    
    

    第六步:发币!

    1. 注册代币发行账户
    cleos system newaccount --stake-net '0.1 EOS' --stake-cpu '1 EOS' --buy-ram-kbytes 200 \
       <本人账户名> <代币发行账户名> <代币发行账户公钥>
    
    

    发行代币需要一定系统资源如不够可追加:

    # 抵押EOS追加网络和CPU资源
    cleos system delegatebw   <本人账户名> <代币发行账户名>  '0.1 EOS'  '1 EOS'
    
    # 消耗EOS购买内存资源
    cleos system buyram   <本人账户名> <代币发行账户名>  '1 EOS'
    
    

    2. 部署代币合约

    cleos set contract <代币发行账户名>  contracts/eosio.token -p <代币发行账户名> 
    
    

    3. 创建代币指定发行人、最大发行量和代币符号

    cleos push action <代币发行账户名>  create \
      '{"issuer":"<代币发行账户名>", "maximum_supply":"10000000000.0000 <代币符号>"}' \
      -p <代币发行账户名> 
    
    # 查看代币发行概况
    cleos get currency stats <代币发行账户名>  <代币符号>
    
    

    4. 发行代币(先给自己发10亿……)

    cleos push action <代币发行账户名>   issue  \
      '[ "<代币接收账户名>", "1000000000.0000 <代币符号>", "memo"  ]' \
      -p <代币发行账户名>  
    
    

    5. 查看代币余额

    cleos get currency balance <代币发行账户名> <代币接收账户名>
    
    

    6. 代币转账

    cleos push action <代币发行账户名> transfer \
      '[ "<转出账户名>", "<转入账户名>", "10.0000 <代币符号>", "memo"  ]' \
      -p <转出账户名>
    
    

    最后:清理

    操作完成后如不再使用可停止钱包服务并删除钱包文件确保安全

    docker stop keosd
    docker rm keosd
    rm /data/eosio/eosio-wallet/my.wallet
    

    相关文章

      网友评论

        本文标题:EOS钱包使用说明

        本文链接:https://www.haomeiwen.com/subject/pjvguftx.html