1. 程式人生 > >【問鏈-EOS公開課】第十五課 用cleos註冊EOS主網賬戶、投票和發幣

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