EOS開發(七)使用cleos通過連線第三方節點,在主網/測試網建立賬戶和發幣代幣...
1.前言
在上一篇文章中,我們已經通過連線第三方節點的方式加入到了主網或者測試網路。這篇文章主要是關於在主網/測試網建立賬號,釋出代幣,以及關於一些轉賬手續費的講解。
2.測試網路
2.1 準備工作
生成兩組公私鑰對,建立賬戶的時候需要:
yuyangdeMacBook-Pro:cleos yuyang$ cleos create key --to-console
Private key: 5Kbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Public key: EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC
yuyangdeMacBook-Pro:cleos yuyang$ cleos create key --to-console
Private key: 5Hrxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Public key: EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E
2.2 建立賬戶
之前,我們是通過http://jungle.cryptolions.io的Create account
選項建立的賬戶testnetyy111
。這裡我們使用cleos
,通過testnetyy111
來建立一個新的賬戶。
在主網和測試網路中,建立賬號不像之前本地私鏈那樣可以隨意建立,而是需要為新賬戶購買和抵押一定的資源,使得新賬號可以進行一定的操作,例如轉賬等。需要購買的資源是RAM
,需要抵押的資源是NET
和CPU
。建立賬號時,使用以下引數指定要購買和抵押的資源數量:
--stake-net
:抵押的網路頻寬資源,單位為EOS--stake-cpu
:抵押的CPU頻寬資源,單位為EOS--buy-ram-kbytes
:購買的記憶體資源,單位為KB--buy-ram
:購買的記憶體資源,單位為EOS
建立賬戶:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "http://jungle.cryptolions.io:18888" create account --stake-net '100 EOS' --stake-cpu '100 EOS' --buy-ram-kbytes 1000 testnetyy111 testneths111 EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E
ERROR: ExtrasError: [--stake-net --stake-cpu --buy-ram-kbytes testneths111 EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E]
Create an account, buy ram, stake for bandwidth for the account
Usage: cleos create account [OPTIONS] creator name OwnerKey [ActiveKey]
Positionals:
creator TEXT The name of the account creating the new account (required)
name TEXT The name of the new account (required)
OwnerKey TEXT The owner public key for the new account (required)
ActiveKey TEXT The active public key for the new account
Options:
-h,--help Print this help message and exit
-x,--expiration set the time in seconds before a transaction expires, defaults to 30s
-f,--force-unique force the transaction to be unique. this will consume extra bandwidth and remove any protections against accidently issuing the same transaction multiple times
-s,--skip-sign Specify if unlocked wallet keys should be used to sign transaction
-j,--json print result as json
-d,--dont-broadcast don't broadcast transaction to the network (just print to stdout)
--return-packed used in conjunction with --dont-broadcast to get the packed transaction
-r,--ref-block TEXT set the reference block num or block id used for TAPOS (Transaction as Proof-of-Stake)
-p,--permission TEXT ... An account and permission level to authorize, as in 'account@permission'
--max-cpu-usage-ms UINT set an upper limit on the milliseconds of cpu usage budget, for the execution of the transaction (defaults to 0 which means no limit)
--max-net-usage UINT set an upper limit on the net usage budget, in bytes, for the transaction (defaults to 0 which means no limit)
發現報錯了。通過檢視cleos
的文件https://developers.eos.io/eosio-cleos/reference#cleos-create-account,發現在生產環境中,建立賬號需要使用cleos system newaccount
(https://developers.eos.io/eosio-cleos/reference#cleos-system-newaccount)命令替代。
再來:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "http://jungle.cryptolions.io:18888" system newaccount --stake-net '100 EOS' --stake-cpu '100 EOS' --buy-ram-kbytes 1000 testnetyy111 testneths111 EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E
executed transaction: 28cbc19117ec5c09edd90da7e25b1e742c5a954f7d0a1b2c88be91eceb4b5880 336 bytes 9736 us
# eosio <= eosio::newaccount {"creator":"testnetyy111","name":"testneths111","owner":{"threshold":1,"keys":[{"key":"EOS7RkP6aevKj...
# eosio <= eosio::buyrambytes {"payer":"testnetyy111","receiver":"testneths111","bytes":1024000}
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"58.0495 EOS","memo":"buy ram"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"58.0495 EOS","memo":"buy ram"}
# eosio.ram <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"58.0495 EOS","memo":"buy ram"}
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.2918 EOS","memo":"ram fee"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.2918 EOS","memo":"ram fee"}
# eosio.ramfee <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.2918 EOS","memo":"ram fee"}
# eosio <= eosio::delegatebw {"from":"testnetyy111","receiver":"testneths111","stake_net_quantity":"100.0000 EOS","stake_cpu_quan...
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.stake","quantity":"200.0000 EOS","memo":"stake bandwidth"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.stake","quantity":"200.0000 EOS","memo":"stake bandwidth"}
# eosio.stake <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.stake","quantity":"200.0000 EOS","memo":"stake bandwidth"}
2018-09-05T06:09:44.828 thread-0 main.cpp:455 print_result warning: transaction executed locally, but may not be confirmed by the network yet
成功!我們查詢下新賬戶testneths111
的情況:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get account testneths111
permissions:
owner 1: 1 EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC
active 1: 1 EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E
memory:
quota: 994.9 KiB used: 2.926 KiB
net bandwidth:
delegated: 100.0000 EOS (total staked delegated to account from others)
used: 0 bytes
available: 18.32 MiB
limit: 18.32 MiB
cpu bandwidth:
delegated: 100.0000 EOS (total staked delegated to account from others)
used: 0 us
available: 3.661 sec
limit: 3.661 sec
我們剛才建立了新賬戶testneths111
,併為其購買了1000kb
的RAM
,NET
和CPU
各抵押了100
個eos。
再查查testnetyy111
的賬戶情況:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get account testnetyy111
permissions:
owner 1: 1 EOS6cnhSLTn4eSUEqS4nC8frYTsVsjeH2M3hos1TUeCgme2Yim5Q5
active 1: 1 EOS6Z7mUQeFC2cQTT3xMyZh2wsLQoHih1bTMgRhr3dbichprTi7Rc
memory:
quota: 170.8 KiB used: 3.646 KiB
net bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 337 bytes
available: 18.32 MiB
limit: 18.32 MiB
cpu bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 9.041 ms
available: 3.652 sec
limit: 3.661 sec
EOS balances:
liquid: 9741.6587 EOS
staked: 200.0000 EOS
unstaking: 0.0000 EOS
total: 9941.6587 EOS
producers: <not voted>
之前這個賬號有10000
eos的可用餘額,現在剩餘9741.6587
eos的可用餘額,剛才建立賬號花費了大約258.3413
eos,我們來看看花費明細:
各抵押了
100
eos的NET
和CPU
,總共200
eos購買了
1000
kb的RAM
,花費58.0495
eos。可以從建立賬號時的返回日記檢視:
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"58.0495 EOS","memo":"buy ram"}
- 購買
RAM
時,系統收取了0.2918
eos的RAM
交易手續費。可以從建立賬號時的返回日記檢視:
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.2918 EOS","memo":"ram fee"}
合計:
200 + 58.0495 + 0.2918 = 258.3413
正好吻合
staked和delegated
這裡注意看下這兩個賬號的資訊。
testnetyy111
的網路資源和CPU資源都為staked 100 eos
,而delegated 0 eos
。testneths111
的網路資源和CPU資源都為delegated 100 eos
,而沒有staked
選項。這表示的是,
testnetyy111
的網路資源和CPU資源都是此賬號自己抵押的,如果申請贖回,那這200 eos
將會退給testnetyy111
。而
testneths111
的網路資源和CPU資源都是由testnetyy111
抵押的。testneths111
無法申請贖回,只能由testnetyy111
申請贖回,並且這200 eos
將會退給testnetyy111
而不是testneths111
。
2.3 EOS轉賬
給新賬戶轉點EOS:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 transfer testnetyy111 testneths111 "100 EOS" "hi there"
executed transaction: a2a4d081bf5af18c3f74a3fecb0dd9c65db1490aaeeee00433c9a9a2b83868bc 136 bytes 1540 us
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"testneths111","quantity":"100.0000 EOS","memo":"hi there"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"testneths111","quantity":"100.0000 EOS","memo":"hi there"}
# testneths111 <= eosio.token::transfer {"from":"testnetyy111","to":"testneths111","quantity":"100.0000 EOS","memo":"hi there"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
檢視testneths111
賬戶資訊:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get account testneths111
permissions:
owner 1: 1 EOS7RkP6aevKjN1CiKSqo44Gi1HhPYBczGFgSduBXBD7uHUFhg2qC
active 1: 1 EOS7sGb8DfutGgpuMmnDhG1d2stVETfpkrHQ6HhVRJJaPXRqLay2E
memory:
quota: 994.9 KiB used: 2.926 KiB
net bandwidth:
delegated: 100.0000 EOS (total staked delegated to account from others)
used: 0 bytes
available: 18.32 MiB
limit: 18.32 MiB
cpu bandwidth:
delegated: 100.0000 EOS (total staked delegated to account from others)
used: 0 us
available: 3.661 sec
limit: 3.661 sec
EOS balances:
liquid: 100.0000 EOS
staked: 0.0000 EOS
unstaking: 0.0000 EOS
total: 100.0000 EOS
已經有100
eos的餘額了
也可以使用下面的方法獲取餘額:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get currency balance eosio.token testnetyy111
9641.6587 EOS
10000.0000 JUNGLE
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get currency balance eosio.token testneths111
100.0000 EOS
JUNGLE
是由於testnetyy111
賬戶是通過Jungle Testnet
網頁建立的,所以預設還給了10000
的JUNGLE
代幣
2.4 轉賬手續費
我們再來檢視下testnetyy111
賬戶的情況:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get account testnetyy111
permissions:
owner 1: 1 EOS6cnhSLTn4eSUEqS4nC8frYTsVsjeH2M3hos1TUeCgme2Yim5Q5
active 1: 1 EOS6Z7mUQeFC2cQTT3xMyZh2wsLQoHih1bTMgRhr3dbichprTi7Rc
memory:
quota: 170.8 KiB used: 3.881 KiB
net bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 455 bytes
available: 18.32 MiB
limit: 18.32 MiB
cpu bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 10.13 ms
available: 3.651 sec
limit: 3.661 sec
EOS balances:
liquid: 9641.6587 EOS
staked: 200.0000 EOS
unstaking: 0.0000 EOS
total: 9841.6587 EOS
producers: <not voted>
對比下轉賬前RAM、NET、CPU的使用情況:
RAM:轉賬前
3.646 KiB used
,轉賬後3.881 KiB used
NET:轉賬前
337 bytes used
,轉賬後455 bytes used
CPU:轉賬前
9.041 ms used
,轉賬後10.13 ms used
可以看到,轉賬後testnetyy111
各項資源的使用都增加了。轉賬需要消耗使用EOS抵押的網路和CPU資源,並且需要將testneths111
持有了EOS的資訊記錄到記憶體上。雖然網路和CPU資源會由系統定期自動釋放,也就是恢復,並且可以贖回成EOS,但是記憶體是使用EOS購買的,雖然可以賣出,但是系統不會定期釋放。所以第一次向沒有EOS代幣的testneths111
賬戶轉賬多少會有一些(因為使用了記憶體的)手續費。
為什麼說只有第一次轉賬EOS沒有手續費呢?因為經過後續實驗,如果testnetyy111
再給testneths111
轉賬EOS,testnetyy111
的記憶體消耗並不會增加。原因是,首先,之前記憶體上已經記錄了testneths111
持有EOS的資訊,轉賬不會再次記錄。其次,雖然轉賬方testnetyy111
的網路和CPU消耗再次增加,但是由於兩者的恢復機制,消耗的網路和CPU會再次恢復。所以此時實現了真正意義上的轉賬無手續費。
我們繼續試驗。將testneths111
的私鑰匯入testnet.wallet
錢包,然後將所有EOS轉回給testnetyy111
。然後再次檢視testnetyy111
的賬戶,這時可以發現,testnetyy111
的記憶體使用降低了。原因是testneths111
不再持有EOS,所以系統刪除了testneths111
持有EOS的這條記錄,並將之前的記錄此資訊的記憶體退回給了testnetyy111
。
2.5 建立、發行、轉賬代幣
之前的文章已經詳細講解過代幣的建立、發行和轉賬了,這裡不再詳細說明了
為testnetyy111
賬戶部署代幣合約:
uyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 set contract testnetyy111 ../../../build/contracts/eosio.token -p testnetyy111@active
Reading WASM from ../../../build/contracts/eosio.token/eosio.token.wasm...
Publishing contract...
Error 3080001: Account using more than allotted RAM usage
Error Details:
account testnetyy111 has insufficient ram; needs 194060 bytes has 174927 bytes
檢視報錯資訊,發現部署代幣合約需要194
kb的記憶體,當前只有174
kb。我們為testnetyy111
再購買些記憶體:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 system buyram testnetyy111 testnetyy111 "100 EOS"
executed transaction: 695beb8644042b44b10dcf2028964996c864f9804d7df5182f32ddda92ff8fd4 128 bytes 5017 us
# eosio <= eosio::buyram {"payer":"testnetyy111","receiver":"testnetyy111","quant":"100.0000 EOS"}
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"99.5000 EOS","memo":"buy ram"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"99.5000 EOS","memo":"buy ram"}
# eosio.ram <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ram","quantity":"99.5000 EOS","memo":"buy ram"}
# eosio.token <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.5000 EOS","memo":"ram fee"}
# testnetyy111 <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.5000 EOS","memo":"ram fee"}
# eosio.ramfee <= eosio.token::transfer {"from":"testnetyy111","to":"eosio.ramfee","quantity":"0.5000 EOS","memo":"ram fee"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
買了100
eos的記憶體,實際只買到了99.5
eos的記憶體,因為被系統扣了%0.5
的交易手續費。看下現在有多少記憶體了:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get account testnetyy111
permissions:
owner 1: 1 EOS6cnhSLTn4eSUEqS4nC8frYTsVsjeH2M3hos1TUeCgme2Yim5Q5
active 1: 1 EOS6Z7mUQeFC2cQTT3xMyZh2wsLQoHih1bTMgRhr3dbichprTi7Rc
memory:
quota: 1.831 MiB used: 3.881 KiB
net bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 549 bytes
available: 18.32 MiB
limit: 18.32 MiB
cpu bandwidth:
staked: 100.0000 EOS (total stake delegated from account to self)
delegated: 0.0000 EOS (total staked delegated to account from others)
used: 12.96 ms
available: 3.648 sec
limit: 3.661 sec
EOS balances:
liquid: 9541.6587 EOS
staked: 200.0000 EOS
unstaking: 0.0000 EOS
total: 9741.6587 EOS
producers: <not voted>
足夠了。我們重新部署代幣合約:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 set contract testnetyy111 ../../../build/contracts/eosio.token -p testnetyy111@active
Reading WASM from ../../../build/contracts/eosio.token/eosio.token.wasm...
Publishing contract...
executed transaction: 7cff6eac58075d3bc12c0479b8bf420f36b7ec2c136a832a007efa48cea57591 8112 bytes 3438 us
# eosio <= eosio::setcode {"account":"testnetyy111","vmtype":0,"vmversion":0,"code":"0061736d01000000017e1560037f7e7f0060057f7...
# eosio <= eosio::setabi {"account":"testnetyy111","abi":"0e656f73696f3a3a6162692f312e30010c6163636f756e745f6e616d65046e616d6...
warning: transaction executed locally, but may not be confirmed by the network yet ]
檢視一下testnetyy111
的賬戶情況,剛才部署代幣合約使用了大約186
kb的記憶體。
完整的建立代幣的命令:
cleos -u http://jungle.cryptolions.io:18888 push action testnetyy111 create '{"issuer":"testnetyy111", "maximum_supply": "100000000.0000 RAY", "can_freeze": 0, "can_recall": 0, "can_whitelist": 0}' -p testnetyy111@active
can_freeze
,can_recall
和can_whitelist
為布林值,表示這個代幣是否可以被髮行人凍結,收回,或者白名單。
我們可以也使用更簡略的命令建立代幣:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 push action testnetyy111 create '[ "testnetyy111", "100000000.0000 RAY", 0, 0, 0]' -p testnetyy111
executed transaction: dfc45b660f42beca5bb0a6dbe081d1d37b4931d004a59bac0801304db6a84ffb 120 bytes 765 us
# testnetyy111 <= testnetyy111::create {"issuer":"testnetyy111","maximum_supply":"100000000.0000 RAY"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
我們指定的發行人為testnetyy111
。現在將全部代幣都發行給testnetyy111
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 push action testnetyy111 issue '[ "testnetyy111", "100000000.0000 RAY", "issue" ]' -p testnetyy111
executed transaction: b0c71715e9dc3284513d6fc29e4c2fc130ff2a54eb621cc472cdc037c63a1124 128 bytes 1303 us
# testnetyy111 <= testnetyy111::issue {"to":"testnetyy111","quantity":"100000000.0000 RAY","memo":"issue"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
檢視下餘額:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get currency balance testnetyy111 testnetyy111
100000000.0000 RAY
現在testnetyy111
賬戶中已經有100000000.0000 RAY
,我們轉點代幣給testneths111
:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 push action testnetyy111 transfer '[ "testnetyy111", "testneths111", "100.0000 RAY", "transfer to hs" ]' -p testnetyy111
executed transaction: cc2dd7d3a52f753cf139c4076cfecaa61e4cb853fc91ec9490e26cdaa4052513 144 bytes 1489 us
# testnetyy111 <= testnetyy111::transfer {"from":"testnetyy111","to":"testneths111","quantity":"100.0000 RAY","memo":"transfer to hs"}
# testneths111 <= testnetyy111::transfer {"from":"testnetyy111","to":"testneths111","quantity":"100.0000 RAY","memo":"transfer to hs"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
檢視下雙方的代幣餘額:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get currency balance testnetyy111 testnetyy111
99999900.0000 RAY
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u http://jungle.cryptolions.io:18888 get currency balance testnetyy111 testneths111
100.0000 RAY
沒毛病
3. 主網
3.1 準備工作
主網的流程和測試網路基本一樣
建立一個錢包,管理主網的私鑰
建立一個名為mainnet.wallet的錢包
yuyangdeMacBook-Pro:cleos yuyang$ cleos wallet create -n mainnet --to-console
Creating wallet: mainnet
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
將我之前在主網申請的賬戶yuyangray222
的私鑰匯入錢包
yuyangdeMacBook-Pro:cleos yuyang$ cleos wallet import --private-key 5JLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -n mainnet
imported private key for: EOS69mwiYuMhfWtwLVXxaXfao7YXF2Kh39nZurdDw6RF1ntQy6DnW
生成兩個私鑰,建立賬戶的時候需要:
yuyangdeMacBook-Pro:cleos yuyang$ cleos create key --to-console
Private key: 5Jwhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Public key: EOS66griGzoa99n2mjGacBKEndMFAACrmJi7zn1xJ6jieDv4K1SB9
yuyangdeMacBook-Pro:cleos yuyang$ cleos create key --to-console
Private key: 5JdJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Public key: EOS6x1ZXjAJLrHy67hCdM13ue2t4BCvNp55qMcqtvyfPULFQAAtRG
3.2 建立賬戶
先確認下是否連線的是主網:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "https://api.eosnewyork.io" get info
{
"server_version": "e87d245d",
"chain_id": "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
"head_block_num": 14959813,
"last_irreversible_block_num": 14959477,
"last_irreversible_block_id": "00e443756eed3ed6a238b63cf87897b069ec84ffb82adceffc3ae0a9469e0b16",
"head_block_id": "00e444c5fec4a19e4b524c4d84140edb18106b5562cd22d7d7b34fdc90fc1e15",
"head_block_time": "2018-09-06T03:24:17.500",
"head_block_producer": "libertyblock",
"virtual_block_cpu_limit": 200000000,
"virtual_block_net_limit": 1048576000,
"block_cpu_limit": 197819,
"block_net_limit": 1048432,
"server_version_string": "v1.2.3-dirty"
}
使用yuyangray222
建立一個新賬戶huashangtech
:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "https://api.eosnewyork.io" system newaccount --stake-net '1 EOS' --stake-cpu '1 EOS' --buy-ram-kbytes 20 yuyangray222 huashangtech EOS66griGzoa99n2mjGacBKEndMFAACrmJi7zn1xJ6jieDv4K1SB9 EOS6x1ZXjAJLrHy67hCdM13ue2t4BCvNp55qMcqtvyfPULFQAAtRG
executed transaction: e10f0e02c963c7b49e939c82ca34917b5607e8925e685d6b48bed27ea372e0a7 336 bytes 5765 us
# eosio <= eosio::newaccount {"creator":"yuyangray222","name":"huashangtech","owner":{"threshold":1,"keys":[{"key":"EOS66griGzoa9...
# eosio <= eosio::buyrambytes {"payer":"yuyangray222","receiver":"huashangtech","bytes":20480}
# eosio.token <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ram","quantity":"2.2453 EOS","memo":"buy ram"}
# yuyangray222 <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ram","quantity":"2.2453 EOS","memo":"buy ram"}
# eosio.ram <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ram","quantity":"2.2453 EOS","memo":"buy ram"}
# eosio.token <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ramfee","quantity":"0.0113 EOS","memo":"ram fee"}
# yuyangray222 <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ramfee","quantity":"0.0113 EOS","memo":"ram fee"}
# eosio.ramfee <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.ramfee","quantity":"0.0113 EOS","memo":"ram fee"}
# eosio <= eosio::delegatebw {"from":"yuyangray222","receiver":"huashangtech","stake_net_quantity":"1.0000 EOS","stake_cpu_quanti...
# eosio.token <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.stake","quantity":"2.0000 EOS","memo":"stake bandwidth"}
# yuyangray222 <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.stake","quantity":"2.0000 EOS","memo":"stake bandwidth"}
# eosio.stake <= eosio.token::transfer {"from":"yuyangray222","to":"eosio.stake","quantity":"2.0000 EOS","memo":"stake bandwidth"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
抵押了1
eosNET
和1
eosCPU
,購買了20
K的記憶體
檢視新賬戶huashangtech
資訊:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "https://api.eosnewyork.io" get account huashangtech
permissions:
owner 1: 1 EOS66griGzoa99n2mjGacBKEndMFAACrmJi7zn1xJ6jieDv4K1SB9
active 1: 1 EOS6x1ZXjAJLrHy67hCdM13ue2t4BCvNp55qMcqtvyfPULFQAAtRG
memory:
quota: 21.27 KiB used: 2.926 KiB
net bandwidth:
delegated: 1.0000 EOS (total staked delegated to account from others)
used: 0 bytes
available: 668.9 KiB
limit: 668.9 KiB
cpu bandwidth:
delegated: 1.0000 EOS (total staked delegated to account from others)
used: 0 us
available: 126.1 ms
limit: 126.1 ms
3.3 EOS轉賬
從yuyangray222
轉一個EOS給huashangtech
:
cleos -u "https://api.eosnewyork.io" transfer yuyangray222 huashangtech "1 EOS" "hi huashangtech"
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "https://api.eosnewyork.io" transfer yuyangray222 huashangtech "1 EOS" "hi huashangtech"
executed transaction: d8fd505b3bbce4416ee390587f758a804218d1057657f189013a62107d6f64a4 144 bytes 1206 us
# eosio.token <= eosio.token::transfer {"from":"yuyangray222","to":"huashangtech","quantity":"1.0000 EOS","memo":"hi huashangtech"}
# yuyangray222 <= eosio.token::transfer {"from":"yuyangray222","to":"huashangtech","quantity":"1.0000 EOS","memo":"hi huashangtech"}
# huashangtech <= eosio.token::transfer {"from":"yuyangray222","to":"huashangtech","quantity":"1.0000 EOS","memo":"hi huashangtech"}
warning: transaction executed locally, but may not be confirmed by the network yet ]
再次檢視huashangtech
賬戶資訊:
yuyangdeMacBook-Pro:cleos yuyang$ cleos -u "https://api.eosnewyork.io" get account huashangtech
permissions:
owner 1: 1 EOS66griGzoa99n2mjGacBKEndMFAACrmJi7zn1xJ6jieDv4K1SB9
active 1: 1 EOS6x1ZXjAJLrHy67hCdM13ue2t4BCvNp55qMcqtvyfPULFQAAtRG
memory:
quota: 21.27 KiB used: 2.926 KiB
net bandwidth:
delegated: 1.0000 EOS (total staked delegated to account from others)
used: 0 bytes
available: 668.9 KiB
limit: 668.9 KiB
cpu bandwidth:
delegated: 1.0000 EOS (total staked delegated to account from others)
used: 0 us
available: 126.1 ms
limit: 126.1 ms
EOS balances:
liquid: 1.0000 EOS
staked: 0.0000 EOS
unstaking: 0.0000 EOS
total: 1.0000 EOS
餘額已有1
EOS
3.4 建立、發行、轉賬代幣
由於在主網部署代幣合約至少需要賬戶內有200k的記憶體,以現在記憶體的價格,大概需要23個EOS以上,後面有機會再補充,不過流程都和在測試網上基本一致。
相關文章
- EOS開發完全解析(四):EOS快速發幣,何以圈錢?唯有發幣!
- EOS開發完全解析(三):EOS賬號建立
- 區塊鏈技術EOS開發系列之如何開發合約發行代幣區塊鏈
- 3.05 EOS單點測試網路
- 虛擬幣交易網站開發網站
- 索拉迪開發/PAXGOLD代幣質押挖礦技術開發/系統開發/代幣預售Go
- 數字貨幣撮合交易平臺開發,幣幣現貨交易網站軟體開發網站
- Bsc通縮代幣燃燒模式開發技術丨馬蹄鏈代幣挖礦模式系統開發技術模式
- EOS開發完全解析(二):用cleos命令列建立、匯入、解鎖錢包命令列
- EOS token 代幣兌換的資料
- 代幣合約系統開發搭建丨DAPP代幣模式專案開發技術方案APP模式
- 合約代幣流動性質押挖礦開發(節點做市)丨合約代幣流動性質押挖礦系統開發詳細
- 區塊鏈交易所基礎開發(5)通過介面查詢區塊鏈各個幣種的提幣情況-eos區塊鏈
- 在以太坊發行代幣Token系列教程(1)
- ARB鏈的代幣kai發基於以太坊(ETH)網路AI
- 數字資產多幣種錢包開發幣幣交易系統開發
- 數字資產法幣交易所開發幣幣交易系統開發
- mac透過網線連線主機(fnOS)Mac
- 區塊鏈多幣種測試網路錢包(開源)區塊鏈
- [譯] 通過 Quick 和 Nimble 在 Swift 中進行測試驅動開發UISwift
- 數字貨幣交易系統開發,場外幣幣交易系統開發
- FIM代幣預售LP質押流動性挖礦開發/代幣預售系統開發技術詳情
- PAXGOLD雙幣LP質押挖礦系統開發(ERC20代幣)Go
- Python 使用 Web3 進行 ERC20 代幣開發PythonWeb
- netty建立數萬客戶端連線,並主動發訊息Netty客戶端
- DAPP代幣預售系統原始碼開發/原始碼/借貸質押挖礦/LP預售代幣合約細節APP原始碼
- 開發比特幣比特幣
- defi/dapp/lp代幣合約挖礦系統開發(開發案例)丨代幣合約挖礦系統開發(原始碼及說明)APP原始碼
- 中國社交網路天涯推出加密代幣加密
- 用solidity語言開發代幣智慧合約Solid
- BNB 燃燒代幣模式專案系統開發模式
- TRX波場鏈/BSC幣安鏈/ARB鏈代幣挖礦系統開發
- Defi代幣質押持幣生息系統技術開發(原始碼部署搭建)原始碼
- Defi代幣質押持幣生息系統技術開發及原始碼部署原始碼
- 透過WLAN測試驗證網路的連線性
- 測試開發之網路篇-網路路由路由
- 量化交易軟體開發/幣幣交易平臺開發原始碼原始碼
- 區塊鏈代幣通縮燃燒挖礦系統開發(技術理念)區塊鏈