5分钟学会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区块链浏览器:eosflare.io eosq.app eospark.com bloks.io eosx.io

# EOS主网节点查询: 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

# 5分钟学会搭建EOS本地测试环境并发币

# 注册账户成功可以评论留下账户名,赠送1万枚EOSNOW纪念币纪念EOS主网上线成功。收到后可在TokenPoket钱包内查看。

EOSNOW发行人为eosnowbanker,创建于2018-6-10 9:09:46 PM(区块#15794),是世界上第一款基于EOS发行的代币。

5分钟学会搭建EOS本地测试环境并发币

# 查询EOSNOW发行概况: cleos get currency stats eosnowbanker EOSNOW # 查询EOSNOW代币余额: cleos get currency balance eosnowbanker <你的账户名>

# 欢迎收藏本文备用

发表评论