当前位置:首页 > 编程笔记 > 正文
已解决

【FISCO-BCOS】十七、角色的权限控制

来自网友在路上 162862提问 提问时间:2023-10-08 16:26:31阅读次数: 62

最佳答案 问答题库628位专家为你答疑解惑

目录

一、角色定义

二、账户权限控制

        1.委员新增、撤销与查询

        2.委员权重修改 

        3.委员投票生效阈值修改 

        4. 运维新增、撤销与查询


一、角色定义

        分为治理方、运维方、监管方和业务方。考虑到权责分离,治理方、运维方和开发方权责分离,角色互斥。

  • 治理方:拥有投票权,可以参与治理投票(AUTH_ASSIGN_AUTH),可以增删节点、修改链配置、添加撤销运维、冻结解冻合约、对用户表的写权限控制。链级别的可变配置的权限。

  • 运维方:由治理方添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。

  • 业务方:业务方账号由运维添加到某个合约,可以调用该合约的写接口。

  • 监管方:监管方监管链的运行,能够获取链运行中权限变更的记录、能够获取需要审计的数据

二、账户权限控制

        现拥有账户:A:0xa767a4206ef39a17e40773d694051434bf557e24,B:0xba0bc02599215aff47357bc7c764a1132c52b355,C:0xd3f18300cfc68ef9fe17798fd7b36436ee252792,分别使用其私钥进入控制台,具体操作可参见这里:【FISCO-BCOS】十五、创建和使用账户_奈何不吃鱼的博客-CSDN博客

        1.委员新增、撤销与查询

        新增A账户为委员,由于目前只要A账户为委员,因此只需要一票即可通过

         如果我们再新增B账户为委员,此时由于只有账号1是委员,所以账号1投票即可生效。

        使用listCommitteeMembers查看委员列表

        如果此时要撤销账号B的委员,由于此时系统中有两个委员,默认投票生效阈值50%,所以需要两个委员都投票撤销账号B的委员权限

        此时查看委员列表,撤销权限成功

        2.委员权重修改 

        先添加账户A、账户C为委员,使用账号A的控制台投票更新账号A的票数为2

        由于账户C也是委员,所以权重修改也需要在C账户的控制台执行

        3.委员投票生效阈值修改 

        账户A和账户C为委员,账号A有2票,账号C有1票,使用账号A添加账号B为委员,由于2/3>0.5所以直接生效。使用账号A和账号B,更新生效阈值为75%。

        使用账户A控制台投票更新生效阈值为75%

         使用账户B控制台投票更新生效阈值为75%

        4. 运维新增、撤销与查询

        委员可以添加运维,运维角色的权限包括部署合约、创建表、冻结解冻所部署的合约、使用CNS服务,先使用get_account脚本再生成一个新的账户D:0xdbb5445316fd2b1690a1ebeee62d12aab9cf7b46

        添加账号D为运维角色

        使用账号D部署HelloWorld,成功

        使用账号A部署HelloWorld,失败 

        撤销账号D的运维权限 

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【FISCO-BCOS】十七、角色的权限控制":http://eshow365.cn/6-17354-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!