eos 常用命令

一、安装命令行钱包

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 这个网站上查询到所有的超级节点列表在节点列表名称上点击能够显示节点的一些细节情况:

 

eos 常用命令_第1张图片

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

 



作者:廖全磊LesterLiao
链接:https://www.jianshu.com/p/8e11fc320920
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(Eos)