链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
账户和权限
钱包
账户
授权和权限
其他
默认账户配置(单个签名)
多签名账户和自定义权限
帐户是存储在区块链中的人类可读标识符。 每个交易都根据配置的帐户权限对其权限进行评估。
每个已命名的权限都有一个阈值,必须满足该权限下签署的交易才能被视为有效的阈值。 交易
通过使用已经安装和解锁钱包的客户端来签署。 钱包是保护和利用你的密钥的软件。 这些密
钥可能授权也可能不授权区块链上的账户权限。
钱包
钱包是一个存储可能与账户有关的密匙的客户端。通常情况下,钱包有锁定和解锁两种状态并通过
一个高熵密码保护。EOSIO/eos库有一个名为cleos的命令行界面客户端,它与一个名为keosd的
lite客户端进行交互,并且共同展示了钱包的这种模式。
账户
帐户是存储在区块链中的人类可读标识符。它可能属于一个个人或者组织,这取决于账户的权限配置,
需要账户才能将交易或将交易以其他方式推送到区块链。
授权和权限
权限确定是否授予任何给定的行为。
每个账户有两个默认的权限名称:
owner 象征着一个账户的所有权。 只有少数交易需要这种权力,但最值得注意的是对owner权力作
出任何改变的行为。 一般而言,建议所有者保持冷藏并且不与任何人共享。 owner可用于恢复可能已被
泄露的另一个权限。
active 用于转移资金,为生产者投票并进行其他高级账户更改。
除了默认权限之外,帐户还可拥有可用于进一步扩展帐户管理的自定义命名权限。 自定义权限非常灵活,并且
在实际应用中可以解决许多可能的用例。 这很大程度上取决于开发人员如何使用它们,以及采用什么约定(如果有的话)。
任何给定权限的权限可以分配给一个或多个public key或有效的account_name。
其他
以下是所有上述概念的组合以及它们如何实际应用的一些例子。
默认账户配置(单个签名)
这是帐户在创建后的配置,它的owner和active权限只有一个key,两个key的权重都是1并且两个权限的阀值
都是1。对于账户的默认权限配置只需要单个签名来授权操作。
@bob 账户权限
权限
账户/key
权重
阀值
owner
1
EOS5EzTZZQQxdrDaJAPD9pDzGJZ5bj34HaAb8yuvjFHGWzqV25Dch
1
active
1
EOSh61chK8GbH4ukWcbom8HgK95AeUfP8MBPn7XRq8FeMBYYTgwmcX
1
在 @bob账户例子中, 这个表格展示了@bob's owner key有一个权重为1的权限,并且
进行操作需要的权限阀值为1.
要在所有者权限下推送交易,只有@bob需要使用其所有者密钥对交易进行签名,以使交易符合验证条件。
将此密钥存储在钱包中,然后使用cleos进行处理
多签名账户和自定义权限
以下示例是名为@multisig的虚构帐户的权限。 在这种情况下,两个用户被授权为虚构的@multisig帐户的owner
和active,三个用户被授予权重不同的自定义publish权限。
@multisig 账户权限
权限
账户/key
权重
阀值
owner
2
@bob
1
@stacy
1
active
1
@bob
1
@stacy
1
publish
2
@bob
2
@stacy
2
EOS7Hnv4iBWo1pcEpP8JyFYCJLRUzYcXSqt.....
1
在这种情况下,需要权重阈值2来更改所有者权限级别,这意味着由于所有方都具有权重1,
因此所有用户都必须签署交易才能获得完全授权。
要发送交易需要active权限,阈值设置为1.这意味着只需要1个签名即可授权来自帐户active权限的操作。
还有一个名为publish的自定义命名权限。 为了这个示例,发布权限用于使用理论博客dApp将帖子发布到@multisig的博客。
发布权限的阈值为2,@bob和@stacy的权重均为2,公钥的权重为1.这意味着@bob和@stacy可以在没有额外签名的情况
下发布,而公钥需要额外签名才能在公共许可下进行授权操作。
因此,上述权限表意味着作为帐户所有者的@bob和@stacy提升了与主持人或编辑者类似的权限。 尽管这个原始示例在可扩展性方面
有特别的限制,并不一定是一个好的设计,但它充分证明了EOS权限系统的灵活性。
此外,请注意上表中的权限是使用帐户名称和密钥设置的。乍一看这可能看起来微不足道,但它确实提出了一些额外的灵活性。
意见
@bob和@stacy可以明确标识为此帐户的所有者.
没有来自@bob或@stacy的额外签名,公钥无法在发布权限下推送操作
@bob和@stacy可以在发布权限下推送一个操作,而不需要任何额外的签名。
原文链接: https://eosfans.io/wiki/accou...
有疑问加站长微信联系(非本文作者)