EOS提出有账号的概念。与以太坊有很大区别。以太坊只要创建公钥私钥就可以了。
EOS创建钱包的顺序是,1、创建钱包,钱包用来管理私钥的;2、创建私钥,将私钥导入钱包,创建账户。3、创建账户,账户是有权限的,根据不同权限,可以行使不同功能。
1、创建钱包。
首先,先确定区块链中钱包的概念:
- 钱包是一个私钥库,用来授权发生在区块链上的动作(action,记住这个概念)。这些私钥使用密码生成,被加密存储在磁盘上。这个密码应该被储存在一个安全的密码管理器中。
提取一下重点:
- 钱包是一个私钥库
- 私钥是通过密码生成
操作流程:
- 先启动私链,通过命令nodeos即可。
- 创建钱包,使用命令cleos wallet create,这是通过插件eosio::wallet_api_plugin完成的操作。
命令如下:
$./cleos wallet create -n walletname
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JnprjHBhVktRymUPsvnRhWunuz4gatNS4UG9PkstjwJbagFbxW"
——其中 “PW5JnprjHBhVktRymUPsvnRhWunuz4gatNS4UG9PkstjwJbagFbxW” 就是创建这个钱包后生产的密钥
如果,你锁定钱包后,需要打开钱包,就需要输入这个密钥,才可以打开。
——我们创建了制定名称为 walletname的钱包
使用命令:Cleos wallet create,就可以创建一个钱包。像以太坊、比特币这些已经比较成熟了,使用一些客户端可以去创建钱包。
如果你想用不同的参数,可以在命令后边加上-N,-N指定你的钱包名称是另外一个钱包名称,可以创建不同的钱包,然后每个钱包都可以管理一组密钥。
创建好钱包后,我们查询一下钱包列表:
$cleos wallet list
Wallets:
[
"mywallet *"
]
打开指定钱包,如下命令:
$cleos wallet open -n mywallet
Opened: mywallet
锁定一个钱包如下命令:
$cleos wallet lock -n mywallet
Locked: 'mywallet'
解锁一个钱包如下命令:
$cleos wallet unlock -n mywallet
password: PW5JnprjHBhVktRymUPsvnRhWunuz4gatNS4UG9PkstjwJbagFbxW //“输入创建钱包的时候的密码”
Unlocked: mywallet
2、创建一组秘钥
创建好钱包,就可以创建一组密钥,创建命令为:
$cleos create key
Private key: 5JeodV4rULJSgqhTP2anZAKT7UrBardhKqs2SEmY1L5g5XyNc99
Public key: EOS8WXkcJ5ms9gQH2KLZTGpks4WkDTRkWPpKTHkycbnYTYzYLiGz2
$cleos create key
Private key: 5HukNuoPWi1ysGaNKm4gMTeNwtYGst9XJbujhbUZi6vfaHJX5w3
Public key: EOS7X9nUmciWAbod2MqwCZ8SUFVBQjcy1WMhXSBFr7HDd87nZQQcc
3、秘钥导入钱包
在第二步创建的密钥,只是生成一组公钥、私钥,还需要把公钥、私钥导入钱包,才能让钱包把公钥和秘钥管理起来。
导入命令为:
$cleos wallet import -n mywallet --private-key 5JeodV4rULJSgqhTP2anZAKT7UrBardhKqs2SEmY1L5g5XyNc99
imported private key for: EOS8WXkcJ5ms9gQH2KLZTGpks4WkDTRkWPpKTHkycbnYTYzYLiGz2
$cleos wallet import -n mywallet --private-key 5HukNuoPWi1ysGaNKm4gMTeNwtYGst9XJbujhbUZi6vfaHJX5w3
imported private key for: EOS7X9nUmciWAbod2MqwCZ8SUFVBQjcy1WMhXSBFr7HDd87nZQQcc
可以在命令后面指定钱包,这样就可以把第二步创建的一组公钥、私钥直接导入指定的钱包。
4、查看钱包中的秘钥
使用以下命令就可以查看是不是成功的把秘钥导入钱包了:
$cleos wallet keys
[
"EOS7X9nUmciWAbod2MqwCZ8SUFVBQjcy1WMhXSBFr7HDd87nZQQcc",
"EOS8WXkcJ5ms9gQH2KLZTGpks4WkDTRkWPpKTHkycbnYTYzYLiGz2"
]
5、备份钱包
为防止钱包文件的损坏,一个良好的习惯是将钱包备份到一个U盘或其他媒介中去。钱包文件采用高度加密的机制,以确保其中的密码对难以访问。
你可以在”data-dir”目录中找到这些钱包文件。如果你在启动eos过程中未指定”–data-dir”参数,你的钱包文件默认保存在”~/eosio-wallet”目录下。
$cd eosio-wallet/
$ll
-rw-rw-r-- 1 cuijb cuijb 1743 6月 20 17:04 config.ini
-rw------- 1 cuijb cuijb 439 7月 12 10:36 mywallet.wallet
可以将上述*.wallet文件拷贝出来,保存在安全的媒介中。
我们已经创建了密钥,密钥包括公钥和私钥。我们将创建的密钥放入我们钱包里。
钱包创建好后,我们创建账号。
2018年7月10日写于深圳