EOS開發完全解析(二):用cleos命令列建立、匯入、解鎖錢包

區塊鏈浪潮之巔發表於2019-03-01

錢包功能是eos的核心功能之一,幾乎所有Dapp都需要使用錢包登入成功才能進行操作,甚至可以說錢包是所有Dapp的入口。

首先我們大概瞄一眼,eos錢包的有哪些操作,主要包括:建立、開啟、鎖定、解鎖、匯入、列出所有錢包等,接下來我們一一操作一波。

eos錢包操作.png

一、EOS錢包操作

首先我們需要先把節點啟動,輸入cd eos/build/programs/nodeos/進入到nodeos目錄,然後執行./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin

啟動節點.png

然後最小化該命令列視窗,ctrl+alt+t重新開啟一個新的命令列視窗,進入到cleos目錄。

cleos目錄.png
  • 1.1 建立錢包
    ./cleos wallet create -n lgwallet --to-console
    -n是指定錢包名稱,--to-console是列印到控制檯
    這裡我建立了名為lgwallet的錢包
    建立eos錢包.png

    最下面這一串數字PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND是該錢包的密碼,務必保管好,後面我們進行一些錢包操作的時候需要用到。

注意:生產環境千萬不要暴露該密碼給別人,否則別人拿到這個祕密就可以操作你的錢包了,到時候損失幾個億可別說浪哥沒提醒你哦。

  • 1.2 開啟錢包
    ./cleos wallet open -n wallet1
    這個命令是開啟一個已經存在的錢包,比如下面我建立wallet1的時候,提示我這個錢包已經存在,但是我呼叫list的時候,並沒有看到我的錢包,這時候我就需要先將該錢包開啟,然後再呼叫list就可以出來了。
    eos錢包已存在.png
    列出所有eos錢包1.png
列出所有開啟的錢包.png
  • 1.3 列出所有錢包
    ./cleos wallet list
    這個命令比較簡單,我們直接看效果,其中帶 *代表未鎖定的錢包,我們剛剛建立的lgwallet就是處於解鎖狀態,另外兩個defaultwallet1都處於鎖定狀態。
    列出所有錢包.png

注意:list只能列出所有已開啟的錢包,如果沒有列出已經存在的錢包,只需要呼叫1.2的指令,開啟該錢包即可。

  • 1.4 鎖定錢包
    ./cleos wallet lock -n lgwallet
    命令比較簡單,不廢話了,直接看效果。

    鎖定eos錢包.png
  • 1.5 解鎖錢包
    ./cleos wallet unlock -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND
    其中lgwallet從不帶*變為帶*代表解鎖成功。

    解鎖eos錢包.png
  • 1.6 匯入私鑰
    主要分為兩步
    第一步,生成公私鑰:
    ./cleos create key --to-console

Private key: 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY
Public key: EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn

生成公私鑰.png

**注意:後期建立賬號的時候會關聯你的公私鑰,所以上面生成的公私鑰務必保管好,生產環境千萬不要暴露該金鑰給別人,否則別人可以隨意操縱你的賬號,一不小心損失幾個億。**具體用途,在建立賬號的時候我們再詳細討論,這裡先不展開講。

第二步,將私鑰匯入到錢包:
./cleos wallet import -n lgwallet --private-key 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY

匯入eos私鑰.png
  • 1.7 檢視錢包的公鑰
    ./cleos wallet keys
    該指令可以檢視所有已解鎖錢包的公鑰。EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn是不是很熟悉的趕腳?沒錯,這就是我們剛匯入到lgwallet錢包對應的公鑰。

    檢視eos錢包的公鑰.png
  • 1.8 檢視錢包的私鑰
    ./cleos wallet private_keys -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND

注意:進行該操作之前需要解鎖該錢包。

檢視eos錢包的私鑰.png
  • 1.9 建立公私鑰並匯入錢包
    ./cleos wallet create_key -n wallet2
    該操作相當於將1.6中的兩步合併為一步,即建立公私鑰並且匯入到該錢包。
建立eos公私鑰並匯入錢包.png
檢視eos錢包私鑰2.png
  • 1.10 移除已匯入到錢包的公私鑰
    ./cleos wallet remove_key EOS4wLeivKFF5U1LzDWLbfnx3DDtfuqznabzxRARgFJ6Z5aeqGahH -n wallet2 --password PW5JPuxjnYwd5z25A8E5wmZYxWbmXwtuJGg1iZc97fpfjTJhxGmar
    這個指令看起來比較長,其實也比較簡單,主要就是三個引數,分別是該錢包對應的公鑰、錢包名以及錢包密碼。
移除已匯入到eos錢包的公私鑰.png
  • 1.11 鎖定所有錢包
    ./cleos wallet lock_all
    這個沒啥好說的,直接看效果圖,一目瞭然。
    鎖定前.png
鎖定後

二、總結

到目前為止,我們已經完成了錢包的所有操作,是不是很easy?下一講我們將講解“EOS賬號建立”,敬請期待。

獲取最新、最全的EOS開發教程請關注微信公眾號:區塊鏈浪潮之巔——一個集專案分析與區塊鏈技術開發於一體的公眾號。

浪潮之巔.png

相關文章