美文网首页
EOSIO开发(四)---账户、钱包和密钥的关系

EOSIO开发(四)---账户、钱包和密钥的关系

作者: JC86 | 来源:发表于2018-07-17 08:57 被阅读0次

    如下图所示,右边是EOS wallet钱包,里面只放私钥,而且钱包只有密码,unlock钱包的时候需要钱包密码。


    image.png

    左边是EOS Account账户,可以看成一个保险箱,里面有EOS token和智能合约,而需要转移里面的EOS Token(或者执行智能合约),你需要钱包中对应的私钥来解锁这个保险箱。
    EOS Dawn 3.0测试版本中创建一个账户的命令是:
    cleos create account {创建者账户名} {新的账户名} 公钥1 公钥2

    其中{创建者账户名}是为这个创建动作支付EOS的账户,公钥1和公钥2分别是两个不同权限的密钥对的公钥。


    image.png

    所以把权限系统加上,图就变成上面这个样子,一个保险柜有两个开关,不过打开后可以进行操作的权限是不同的。2个私钥可以存在一个钱包里,也可以如上图所示存在不同的钱包里(由不同的人控制)。

    root@7cc6d6a2b9dc:/# cleos wallet create -n wbs
    "/opt/eosio/bin/keosd" launched
    Creating wallet: wbs
    Save password to use in the future to unlock this wallet.
    Without password imported keys will not be retrievable.
    "PW5KMYJGubxrSJ7E4ozjoRcGBXZ23WtRZzTWcF4LqEmDXeWTpc1n9"
    root@7cc6d6a2b9dc:/# cleos wallet lock -n wbs
    Locked: wbs
    root@7cc6d6a2b9dc:/# cleos wallet unlock -n wbs
    password: Unlocked: wbs
    root@7cc6d6a2b9dc:/# cleos create key
    Private key: 5J4FyXaQmqq1N3zgV7e5R5pTwkiyGjzkNB3sbi858tGhN6Fw7P6
    Public key: EOS6UZTiCRmm6SQQQFntSWMRrfSy3xyVMPVcRdj4ajj2T94poTKEn
    root@7cc6d6a2b9dc:/# cleos wallet import -n wbs 5J4FyXaQmqq1N3zgV7e5R5pTwkiyGjzkNB3sbi858tGhN6Fw7P6
    imported private key for: EOS6UZTiCRmm6SQQQFntSWMRrfSy3xyVMPVcRdj4ajj2T94poTKEn
    root@7cc6d6a2b9dc:/# cleos wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 -n wbs
    imported private key for: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
    root@7cc6d6a2b9dc:/# cleos create account eosio user EOS6UZTiCRmm6SQQQFntSWMRrfSy3xyVMPVcRdj4ajj2T94poTKEn EOS6UZTiCRmm6SQQQFntSWMRrfSy3xyVMPVcRdj4ajj2T94poTKEn
    executed transaction: ab5c0b1406101427abfa9ca562148348ffacaeb16be594a5d49b2d07320902fe  200 bytes  277 us
    #         eosio <= eosio::newaccount            {"creator":"eosio","name":"user","owner":{"threshold":1,"keys":[{"key":"EOS6UZTiCRmm6SQQQFntSWMRrfSy...
    warning: transaction executed locally, but may not be confirmed by the network yet
    
    owner权限代表着对一个账户的所有权,是最高权限,只有少数交易会用到这种权限;EOS建议账户的拥有者把owner权限的密钥冷存储,且不要与任何人共享;
    active权限可以用来转移资金、给生产者投票、账户相关信息更改等; 一般情况下使用active权限就够用了。
    recovery权限则需要 Recovery 列表里至少两个账户的授权才能行使

    相关文章

      网友评论

          本文标题:EOSIO开发(四)---账户、钱包和密钥的关系

          本文链接:https://www.haomeiwen.com/subject/urxwpftx.html