【问链-EOS公开课】第十五课 用cleos注册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内存可满足新账户转账最低资源需求

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'

6 账户转让(变更账户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网址:

#EOS主网账户查询:eosflare.io bloks.io scaneos.io eostracker.io eosmonitor.io

#EOS主网节点查询:eospark.com eosportal.io eos.host eosmeta.io

#EOS主网投票分析:eosflare.io/voters votetracker.eosmedi.com eos-bp-votes

#EOS主网状态查询:eosnetworkmonitor.io

#EOS主网代币查询:eosflare.io/tokens eosparkTokens

#EOS主网资源价格:空投成本 eosrp.io eos.feexplorer.io southex.com

#EOS账号竞拍查询:eosflare.io/bidname EOSPark

#EOS网页钱包工具:get-scatter.com toolkit.genereos.io

#EOS开发者资源: developers.eos.io eosio.stackexchange.com

#EOS主网节点指南:BP Instructions EOS Seed List

#注册账户成功可以评论留下账户名,赠送1万枚EOSNOW纪念币纪念EOS主网上线成功。收到后可在TokenPoket钱包内查看。EOSNOW发行人为eosnowbanker,创建于2018-6-10 9:09:46 PM(区块#15794),是世界上第一款基于EOS发行的代币。

#查询EOSNOW发行概况:

cleos get currency stats eosnowbanker EOSNOW

#查询EOSNOW代币余额:

cleos get currency balance eosnowbanker <你的账户名>

猜你喜欢

转载自blog.csdn.net/tiandiwuya/article/details/83576947
今日推荐