第一步: 安装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钱包服务
下载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账户名
查询主网自动分配的账户名
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
第五步:投票
查看账户抵押信息
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 <本人账户名>
第六步:发币!
注册代币发行账户
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 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主网代币查询:eosmonitor.io/coins
# 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发行的代币。
# 查询EOSNOW发行概况:
cleos get currency stats eosnowbanker EOSNOW
# 查询EOSNOW代币余额:
cleos get currency balance eosnowbanker <你的账户名>
# 欢迎收藏本文备用