cleos提供豐富的操作,原本是在考慮來好好介紹,不過實在太多,又有些複雜....還是有用到在說吧!
不過光是keosd錢包這塊也夠多可以寫的,而且在開發可能常常要解鎖錢包(當然也可以設定不上鎖)。
keosd是官方提供的錢包軟體,預設指允許本地存取。但實際上,也包含一個HTTP RPC接口。你可以透過以下方式獨立運行一個keosd
進程,並允許其他電腦連線使用:
keosd --http-server-address 0.0.0.0:9999
關於HTTP RPC相關API,可以在自行參考官方文件。不過基本上cleos在使用到keosd服務時,會嘗試連線或啟動一個進程,所以無須自行啟動。
接下來內容主要也是參考官方文件所寫。基本上cleos的線上文件說明已經很豐富清楚。在部署合約前,合約也是一個帳號,需要申請帳號;然後要控制帳號,會需要私鑰;私鑰要存在錢包裡,所以得先建立錢包:
cleos wallet create --to-console
你會出現類似下面的內容,最後一行的亂文是解鎖錢包的密碼,現在就要記住:
"/usr/opt/eosio/1.7.0/bin/keosd" launched
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5Kewn9L76X8Fpd....................t42S9XCw2"
此外,如果用ps -aux|grep keosd
,可以發現已經有一個keosd
在運行。
現在可以看看有什麼錢包:
cleos wallet list
Output:
Wallets:
[
"default *"
]
預設會建立名為default
的錢包,右邊的星號(*
)表示錢包未上鎖。要建立特定名稱的錢包,可以加入--name
的參數。
上鎖錢包看看
cleos wallet lock
cleos wallet list
星號消失了
Wallets:
[
"default"
]
要解鎖錢包如下:
cleos wallet unlock
接著會詢問密碼,輸入建立錢包時給的密碼就可以。或是可以像下面這樣解鎖錢包,寫成腳本非常容易:
cleos wallet unlock --password="PW5Kewn9L76X8Fpd....................t42S9XCw2"
cleos wallet create_key
上面會新增一個私鑰,並匯入錢包
Output:
Created new private key with a public key of: "EOS8PEJ5FM42xLpHK...X6PymQu97KrGDJQY5Y"
cleos wallet keys
除了上述會列出公鑰外,也可以透過以下方式查看密鑰對(包含私鑰):
cleos wallet private_keys
如果已經有私鑰了,可以透過下面方式匯入
cleos wallet import