歡迎來到EOS小白學習系列,本系列會記錄EOS學習過程中的一些操作和細節,大餅果子非C++出身,如有錯誤,歡迎指出
接上一篇:
EOS小白學習(二)部署系統合約
聽說現在創建EOS的一個賬戶很貴了?本果子帶大家創建一個測試環境的賬戶過過癮,沒有真的還不能有個假的么?口亨>_<
那么開工
cleos system newaccount eosio dabingguozi EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV --stake-net "1000 SYS" --stake-cpu "1000 SYS" --buy-ram-kbytes 8 -p eosio
⚠️如果你的錢包被鎖定了,你需要先解鎖你的錢包cleos wallet unlock --password ***
現在我們可以看到,大餅果子的賬戶被創建了
我們來看一下這些參數
permissions:指的是賬戶的權限,所屬以及操作的權限,如上圖的owner和active,他們都有一對密鑰對,就是我們剛剛創建賬戶時后面跟的參數,這里是測試環境,我們使用相同的密鑰對,生產環境建議使用不同的密鑰對,有關賬戶權限以及其權重,和賬戶管理的活用場景,之后會專門開放講解
memory:存儲,是eos賬戶貴的原因,在eos中的存儲就是ram,是資源,是開發者進行dapp開發必不可少要使用的資源,eosio.token用ram對用戶的貨幣balance進行存儲,我們cleos get account eosio.token就會看到,eosio.token的memory被用掉了很多
net bandwidth:網絡寬帶,網絡寬帶資源會隨時間釋放,但如果資源不足會導致一些操作無法執行
cpu bandwidth:cpu寬帶,同網絡寬帶一樣,會隨時間釋放,資源不足也會導致一些操作無法執行
寬帶資源在這里就不講了,關於ram資源,如果你只是一個用戶,那么你暫時不需要太擔心ram不夠用的問題,因為你在其他合約上的數據是合約賬戶的功能,所以由合約賬戶來支付和維護。但如果你是一個dapp開發者,那么你需要考慮ram是否夠用的問題,而且要盡可能的少使用數據存儲,以便降低成本。但這些不是本系列的重點。
我們現在有了一個賬戶,那就給這個賬戶轉一些帳吧(在EOS的生產環境,EOS的幣叫EOS,在測試環境叫做SYS)
cleos transfer eosio dabingguozi "520.0000 SYS" "first trans"
⚠️如果你的錢包被鎖定了,你需要先解鎖你的錢包cleos wallet unlock --password ***
這是從eosio向大餅果子轉520.0000 SYS的幣,為什么可以從eosio轉呢,因為上一篇我們給eosio加了足夠的錢,所以可以轉
他的結果是這樣的
那么我們再一次get大餅果子的賬戶就會發現
大餅果子有了520個SYS!!
本果子假裝有了EOS,口亨>_<
現在我們已經創建了賬戶,也操作了轉賬,都是使用的cleos命令,下一篇本果子將帶大家使用http操作節點咯
EOS小白學習(四)使用http請求EOS節點
ps. cleos transfer是系統命令,但我們知道轉賬也是eosio.token的合約,可不可以直接用cleos調用合約方法?答案是可以的
cleos push action eosio.token transfer '["eosio", "dabingguozi", "2.0000 SYS" ,"contract"]' -p eosio
push action就是執行合約,我們在執行eosio.token下的transfer方法,其中參數是 '["eosio", "dabingguozi", "2.0000 SYS", "contract"]',合約方法要求有eosio的permission,所以最后我們給了eosio的permission,如此一來,和cleos transfer的效果就一致了,其實cleos transfer就是在執行這個合約方法,條條大陸通羅馬,哪條我們都轉賬成功了