好了,上一節咱們已經講了關於wallet的一些基礎操做,基本瞭解了怎麼去建立一個錢包,怎麼去查看錢包、上鎖和解鎖錢包等,這一節我們就來開始操做帳戶account吧。json
上一節講到了每個account都須要與兩對密鑰綁定,那麼咱們就先給它建立兩對密鑰吧。ui
一、建立密鑰(./cleos create key)spa
以下圖,建立了密鑰後,咱們查看一下wallet中的keys,發現錢包又被鎖上了,解鎖,再看,發現裏面仍是隻有一個公鑰在裏面:code
那要怎麼作咱們上邊建立的密鑰纔會出如今wallet中呢?blog
這裏有一個key導入的過程,咱們須要將上邊建立的兩組密鑰導入到wallet中。get
二、向wallet導入key(./cleos wallet import private-key)it
這裏導入的key是私鑰,公鑰是能夠公開給別人的,錢包是用來存放私鑰的不是用來存錢的,有了私鑰能夠生成公鑰。io
因爲每個account須要兩對密鑰和它相對應,因此這裏須要導入兩次私鑰,以下圖:ast
完了,忘了上邊解鎖的是simaguang,default這個錢包沒有解鎖。使用上邊的import命令,默認會將私鑰導入到default默認錢包。下邊咱們先解鎖default錢包後再來試試。import
成功將key導入到了錢包裏面,那接下來又幹嗎呢?這仍是沒有創建wallet和account之間的聯繫啊。下面就看看咱們怎麼來建立帳戶吧。
在這以前,咱們得把先前建立的兩組密鑰記錄下來:
key1:
Private key: 5J6YHicUZZiEViWe3MCQD2vdCC99WW8VHhCQST5NaHScYQibwLy
Public key: EOS8kLLKdikhpY99EWSj8L8HHLSyE8xiRQW9mZAXxcf5thYK2LCzM
key2:
Private key: 5KKJZzK3fqoHbFFevRrzX7r1Gb8DtvnC82BAZEhrS7aqRtxpkth
Public key: EOS6FwkA7gn9a46LbmJWuRCXdZYW9jznckVKXcZTHYbcFBAB9VcNC
再用./cleos wallet keys查看錢包中的keys:
咱們發現裏面有三個公鑰——咱們明明導入的是私鑰,怎麼看到的是公鑰啊?見鬼啦?呵呵,其實不是的,你的錢包裏的default中一樣存的是私鑰,只是咱們使用./cleos wallet keys查看的時候,錢包自動給我們算出公鑰來了。目的就是避免私鑰泄露。因此,你的私鑰,你必定要記好了,即便導入到錢包了,你仍是要記在你本身的小本本上,否則要是你錢包也丟了,那就麻煩事大了……
還有啊,咱們剛剛是將私鑰導入到默認錢包default中了,那如今咱們想把密鑰也導入到simaguang這個錢包中又怎麼辦呢?
其實,在import後加一個參數就好了:
./cleos wallet import -n simaguang 5J6YHicUZZiEViWe3MCQD2vdCC99WW8VHhCQST5NaHScYQibwLy
./cleos wallet import -n simaguang 5KKJZzK3fqoHbFFevRrzX7r1Gb8DtvnC82BAZEhrS7aqRtxpkth
以下圖:
這樣咱們就有兩個錢包在存放咱們的私鑰了。
三、建立帳戶(./cleos create account ${authorizing_account} ${new_account} ${owner_key} ${active_key} )
如上命令中,${authorizing_account}是指建立者帳戶,也就是須要一個老帳戶來建立新帳戶,也就是說在EOS裏面,帳戶不是你想有,想有就能有的,你得找人幫你建立。
咱們在配置文件裏面設置了一個帳戶eosio,那咱們就用這個已有的帳戶來建立新帳戶吧。
${owner_key}和${active_key}就是上邊咱們建立的那兩對密鑰中的公鑰。以下圖:
看到了嘛?這帳戶名的命名規則是有要求的——13個字符之內,且只能在.12345abcdefghijklmnopqrstuvwxyz這32個字符中選取,爲何呢?這和base32這玩意兒有關,回頭咱們看程序吧。
四、查看帳戶信息(./cleos get account -j ${accountName})
既然帳戶已經建立好了,那咱們如今就來看看這帳戶裏面都存了些啥東西吧。使用./cleos get account -j ${accountName}命令能夠查看帳戶信息,其中的-j的意思是使用json格式顯示數據。以下圖:
內容以下:
{
"account_name": "simayi",
"privileged": false,
"last_code_update": "1970-01-01T00:00:00.000",
"created": "2018-06-06T08:45:03.000",
"ram_quota": -1,
"net_weight": -1,
"cpu_weight": -1,
"net_limit": {
"used": -1,
"available": -1,
"max": -1
},
"cpu_limit": {
"used": -1,
"available": -1,
"max": -1
},
"ram_usage": 2724,
"permissions": [{
"perm_name": "active",
"parent": "owner",
"required_auth": {
"threshold": 1,
"keys": [{
"key": "EOS6FwkA7gn9a46LbmJWuRCXdZYW9jznckVKXcZTHYbcFBAB9VcNC",
"weight": 1
}
],
"accounts": [],
"waits": []
}
},{
"perm_name": "owner",
"parent": "",
"required_auth": {
"threshold": 1,
"keys": [{
"key": "EOS8kLLKdikhpY99EWSj8L8HHLSyE8xiRQW9mZAXxcf5thYK2LCzM",
"weight": 1
}
],
"accounts": [],
"waits": []
}
}
],
"total_resources": null,
"delegated_bandwidth": null,
"voter_info": null
}
五、根據公鑰得到帳戶列表(./cleos get accounts ${public-key})
好了,就搞到這裏吧,累了。
接下來的操做得加載智能合約才能搞了,因此,我們下節見!
注意啊,這裏面的關於key的內容,都應該使用你本身生成的密鑰對哇,別瘋瘋癲癲的用我生成的弄哈——即使它也是能夠用的。