【問鏈-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.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 <你的賬戶名>