钱包功能是eos的核心功能之一,几乎所有Dapp都需要使用钱包登录成功才能进行操作,甚至可以说钱包是所有Dapp的入口。
首先我们大概瞄一眼,eos钱包的有哪些操作,主要包括:创建、打开、锁定、解锁、导入、列出所有钱包等,接下来我们一一操作一波。
一、EOS钱包操作
首先我们需要先把节点启动,输入cd eos/build/programs/nodeos/
进入到nodeos目录,然后执行./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin
ctrl+alt+t
重新打开一个新的命令行窗口,进入到cleos目录。 - 1.1 创建钱包
./cleos wallet create -n lgwallet --to-console
-n
是指定钱包名称,--to-console
是打印到控制台 这里我创建了名为lgwallet
的钱包 最下面这一串数字PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND
是该钱包的密码,务必保管好,后面我们进行一些钱包操作的时候需要用到。
注意:生产环境千万不要暴露该密码给别人,否则别人拿到这个秘密就可以操作你的钱包了,到时候损失几个亿可别说浪哥没提醒你哦。
- 1.2 打开钱包
./cleos wallet open -n wallet1
这个命令是打开一个已经存在的钱包,比如下面我创建wallet1
的时候,提示我这个钱包已经存在,但是我调用list
的时候,并没有看到我的钱包,这时候我就需要先将该钱包打开,然后再调用list
就可以出来了。
- 1.3 列出所有钱包
./cleos wallet list
这个命令比较简单,我们直接看效果,其中带*
代表未锁定的钱包,我们刚刚创建的lgwallet
就是处于解锁状态,另外两个default
和wallet1
都处于锁定状态。
注意:
list
只能列出所有已打开的钱包,如果没有列出已经存在的钱包,只需要调用1.2的指令,打开该钱包即可。
-
1.4 锁定钱包
./cleos wallet lock -n lgwallet
命令比较简单,不废话了,直接看效果。 -
1.5 解锁钱包
./cleos wallet unlock -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND
其中lgwallet
从不带*
变为带*
代表解锁成功。 -
1.6 导入私钥 主要分为两步 第一步,生成公私钥:
./cleos create key --to-console
Private key: 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY Public key: EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn
**注意:后期创建账号的时候会关联你的公私钥,所以上面生成的公私钥务必保管好,生产环境千万不要暴露该密钥给别人,否则别人可以随意操纵你的账号,一不小心损失几个亿。**具体用途,在创建账号的时候我们再详细讨论,这里先不展开讲。
第二步,将私钥导入到钱包: ./cleos wallet import -n lgwallet --private-key 5KZ671DNWdP3PdCQLckCma3YyGXUR92ajM1nKHhJH54zf3isADY
-
1.7 查看钱包的公钥
./cleos wallet keys
该指令可以查看所有已解锁钱包的公钥。EOS78toDB64JtRpyeF7V35PPiBRLMcqWedd99dR3WDEApYkHhz2Tn
是不是很熟悉的赶脚?没错,这就是我们刚导入到lgwallet
钱包对应的公钥。 -
1.8 查看钱包的私钥
./cleos wallet private_keys -n lgwallet --password PW5KZ2Zy7LsJajEsPcTCq6MzSZdETCiuDCfZq3rgEDDfuyt21ZLND
注意:进行该操作之前需要解锁该钱包。
- 1.9 创建公私钥并导入钱包
./cleos wallet create_key -n wallet2
该操作相当于将1.6中的两步合并为一步,即创建公私钥并且导入到该钱包。
- 1.10 移除已导入到钱包的公私钥
./cleos wallet remove_key EOS4wLeivKFF5U1LzDWLbfnx3DDtfuqznabzxRARgFJ6Z5aeqGahH -n wallet2 --password PW5JPuxjnYwd5z25A8E5wmZYxWbmXwtuJGg1iZc97fpfjTJhxGmar
这个指令看起来比较长,其实也比较简单,主要就是三个参数,分别是该钱包对应的公钥、钱包名以及钱包密码。
- 1.11 锁定所有钱包
./cleos wallet lock_all
这个没啥好说的,直接看效果图,一目了然。
二、总结
到目前为止,我们已经完成了钱包的所有操作,是不是很easy?下一讲我们将讲解“EOS账号创建”,敬请期待。
获取最新、最全的EOS开发教程请关注微信公众号:区块链浪潮之巅——一个集项目分析与区块链技术开发于一体的公众号。