EOS账户权限

链客 · · 1004 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。
图片描述

账户和权限
钱包
账户
授权和权限
其他
默认账户配置(单个签名)
多签名账户和自定义权限
帐户是存储在区块链中的人类可读标识符。 每个交易都根据配置的帐户权限对其权限进行评估。

每个已命名的权限都有一个阈值,必须满足该权限下签署的交易才能被视为有效的阈值。 交易

通过使用已经安装和解锁钱包的客户端来签署。 钱包是保护和利用你的密钥的软件。 这些密

钥可能授权也可能不授权区块链上的账户权限。

钱包
钱包是一个存储可能与账户有关的密匙的客户端。通常情况下,钱包有锁定和解锁两种状态并通过

一个高熵密码保护。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...


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:链客

查看原文:EOS账户权限

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1004 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传