EOS 合约基础教程 - 创建测试账号(账户)

EOS 账号(账户)是什么呢?

EOS 中的账号(账户)是什么呢?

EOS 中,帐户(账户)是存储在区块链上的授权集合,用于标识发送者 / 接受者。

EOS 中的授权结构非常灵活,也非常复杂,简单来说,就是一个授权,既可以由一个人拥有,也可以由一组个人拥有,具体取决于如何配置权限。

我们甚至可以说,任何人,想要在 EOS 上做一些事情,他必须先有一个账户,才能向区块链发送或接收有效的交易。

本章节接下来的内容,我们将创建三个账户:eosio.tokenhellohi

列出当前钱包下的所有密钥对

我们可以使用 cleos wallet private_keys 列出当前钱包下的所有密钥对

[yufei@www.twle.cn ~]# cleos wallet private_keys
password: [[
    "EOS5M2sNqDPZtQoBcRMnPQEnY1MJaVtdWWPx7A3UpcLgtzdLusFVW",
    "5JvL5wbJeQdgpKDDLRFUyWmHwBpRDgvARn99cS4pXoxZt8pxxxx"
  ],[
    "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV",
    "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"
  ],[
    "EOS8Bk64uSPPHnEUT4XdYyqZhrdMbCHVpYcP8rvVdA27XHV642esS",
    "5KdFXLK9An9JcpqVSmm48L2AKqjJwmng2zAFKKDnvkCifNLxxxx"
  ]
]

注意: 你的钱包下的密钥可能和我不一样,不过没关系

在我上面的钱包中,总共有三个密钥对,所有以 EOS 开头的都是公钥,而第二个则都是私钥。

注意,私钥很重要,千万不要轻易告诉别人

创建测试账户

在前面的章节中,我们已经创建了一个钱包和一个密钥对。接下来我们创建的账户会用到上一章节中创建的密钥对。

然后我们就可以使用 cleos wallet create account 来创建账号了,该命令语法如下

cleos create account [OPTIONS] creator name OwnerKey [ActiveKey]
────┬─────── ──┬──  ─┬─   ─┬  ┬──   ┬
                                 │      │  │       └ active 权限公钥,可选
                                 │      │  └─ owner 权限公钥 
                                 │      └ 要创建的账号,只能是 [0-5a-z.]{1,12}
                                 └──创建者,必须是已经存在的账号

创建 eosio.token 账户

例如,下面的命令使用 eosio 作为创建者,使用 EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV 作为公钥,创建 eosio.token 账户

cleos create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

该命令执行后,会输出创建账号的事务

executed transaction: ae8ceebcc455cef49fc42a3ba51a65c41a3434f49f0a4a167637f2c280e16511  200 bytes  3893 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"eosio.token","owner":{"threshold":1,"keys":[{"key":"EOS6MRyAjQq8ud7hVNYcfnVPJqc...

类似的,我们可以使用相同的密钥对创建多个其它账号

注意: 开发环境可以使用一个密钥对创建多个账号,这样更方便,但是,生产环境,请不要这么做

创建 hello 账户

cleos create account eosio hello EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

创建 hi 账户

cleos create account eosio hi EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

ower 权限和 active 权限的区别?

EOSIO 具有独特的授权结构,为我们的帐户增加了安全性。

一般的交易使用 active 权限即可,该权限可以执行大部分的操作,除了更改账户本身。

owner 权限,可以修改账户,添加或者删除权限,更改密钥等等操作。

在日常生产环境中,我们应该保持 ower 权限和 active 权限使用不同的密钥对。这样可以最小化账户的风险。

这样,一旦我们的 active 权限泄露,我们可以使用 ower 权限来重置它

故障排除

如果你在创建账号时触发了钱包已经锁定的错误

可以使用下面的命令来解锁

cleos wallet unlock --password PW5KKXqdm94UCeQ3xSwCmsJy7PJjeEsht8qbYVbG6CUcm4pNJ6Gq2

注意: PW5KKXqdm94UCeQ3xSwCmsJy7PJjeEsht8qbYVbG6CUcm4pNJ6Gq2 要替换成你自己的钱包密钥

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.