账户权限控制

news/2024/11/19 20:28:57/

1.首先配置一个单群组4节点的链

1.1创建操作目录

cd ~ && mkdir -p fisco && cd fisco
在这里插入图片描述

1.2下载国内脚本

curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
在这里插入图片描述

1.3搭建单群组4节点联盟链

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
在这里插入图片描述

1.4 启动所有节点

bash nodes/127.0.0.1/start_all.sh
在这里插入图片描述

2搭建控制台

2.1回到fisco目录,下载配置文件

cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh
在这里插入图片描述

2.2拷贝控制台配置文件

在这里插入图片描述

2.3配置控制台证书

cp -r nodes/127.0.0.1/sdk/* console/conf/
在这里插入图片描述

2.4启动控制台,查看是否配置成功

bash start.sh
在这里插入图片描述

exit或者quit命令退出

3.回到console目录下

cd console
在这里插入图片描述

4.下载脚本

curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/tools/get_account.sh && chmod u+x get_account.sh && bash get_account.sh -h

因为我这里系统已经有了,就不发截图了

5.使用脚本生成PEM格式私钥与PKCS12格式私钥

bash get_account.sh
在这里插入图片描述
bash get_account.sh -p
在这里插入图片描述

PKCS12格式的需要定义密码

6.分别使用p12私钥与pem私钥进入控制台

pem格式

bash start.sh 1 -pem accounts/0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a.pem
在这里插入图片描述

可以使用getCurrentAccount命令来查看当前账户,看是否使用私钥登录成功

在这里插入图片描述

p12格式

bash start.sh 1 -p12 accounts/0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a.p12
在这里插入图片描述

7.权限与角色

在这里插入图片描述

8.指定账户1登录控制台

账户1

0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a.pem

账户2

0x85961172229aec21694d742a5bd577bedffcfec3.pem

账户3

0x0b6f526d797425540ea70becd7adac7d50f4a7c0.pem
bash start.sh 1 -pem accounts/0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a.pem
在这里插入图片描述

9添加账户1与账户2为委员

[group:1]> grantCommitteeMember 0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a
{"code":0,"msg":"success"
}
[group:1]> listCommitteeMembers
---------------------------------------------------------------------------------------------
|                   address                   |                 enable_num                  |
| 0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a  |                      1                      |
---------------------------------------------------------------------------------------------

grantCommitteeMember 指定账户 //添加指定账户为委员
listCommitteeMembers //查看所有委员

在这里插入图片描述

10.验证账号3无权限执行委员操作

接下来的操作都不展示登录了,如果你要使用哪个账号操作就要用哪个账号登录控制台

setSystemConfigByKey tx_count_limit 100
普通账号
在这里插入图片描述
委员账号
在这里插入图片描述

11撤销账号2的委员权限

此时系统中有两个委员,默认投票生效阈值50%,所以需要两个委员都投票撤销账号2的委员权限,有效票/总票数=2/2=1>0.5才满足条件。

账号1投票撤销账号2的委员权限

revokeCommitteeMember 0x85961172229aec21694d742a5bd577bedffcfec3
在这里插入图片描述

账号2投票撤销账号2的委员权限

在这里插入图片描述

12.委员权重修改

先添加账户1、账户3为委员。然后更新委员1的票数为2。

使用账号1的控制台投票更新账号1的票数为2

updateCommitteeMemberWeight 0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a 2

使用账号3的控制台投票更新账号1的票数为2

updateCommitteeMemberWeight 0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a 2

查看账号票数

queryCommitteeMemberWeight 0x61d88abf7ce4a7f8479cff9cc1422bef2dac9b9a
在这里插入图片描述

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

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

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

updateThreshold 75

查看账户投票阈值

queryThreshold
在这里插入图片描述

14.运维新增

委员可以添加运维,运维角色的权限包括部署合约、创建表、冻结解冻所部署的合约、使用CNS服务。

基于职责权限分离的设计,委员角色不能兼有运维的权限,生成一个新的账号40x283f5b859e34f7fd2cf136c07579dcc72423b1b2.pem。

添加账号4为运维角色

在这里插入图片描述

15.使用运维账号与普通账号来部署

普通账号
在这里插入图片描述
运维账号
在这里插入图片描述


http://www.ppmy.cn/news/1198079.html

相关文章

shiro 框架使用学习

简介 Shiro安全框架是Apache提供的一个强大灵活的安全框架Shiro安全框架提供了认证、授权、企业会话管理、加密、缓存管理相关的功能,使用Shiro可以非常方便的完成项目的权限管理模块开发 Shiro的整体架构 1、Subject ​ Subject即主体(可以把当前用户…

剑指JUC原理-11.不可变设计

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码🔥如果感觉博主的文章还不错的话,请👍三连支持&…

Spring 中存储 Bean 的相关注解及其用法.

首先,存储Bean的注解有两种: 类注解:Controller,Service,Respository,Component,Configuration方法注解:Bean Controller(控制存储) 是一个控制存储的类注解,负责处理HTTP请求并返回视图或数据。这个注解通常用于Web应用程序中。 Controller public class MyController {//…

LeeCode每日一题:208. 实现 Trie (前缀树)

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象…

京东云主机租用优惠价格表和轻量云主机

京东云主机租用优惠价格表轻量云主机2C2G3M配置66元一年、2C2G4M带宽99元1年,3年326元;云主机2核4G5M带宽598元一年,买三年1499元;轻量云主机低至5.5元一个月,阿腾云atengyun.com分享领取13180元京东云服务器专用优惠代…

Unity Profiler 详细解析(二)

Profiler的主要参数详解 1. Memory Profiler Uesd Total : 当前帧的Unity内存,Mono内存,GfxDriver内存,Profiler内存以及额外内存的总和。 Reserved Total: 系统在当前帧申请的总体物理内存 Total System Memory Usage&#xff1…

Java的拆箱和装箱

Java拆箱(Unboxing)是指将包装类型(Wrapper Types)转换为其对应的原始类型(Primitive Types)。Java拆箱通常发生在将一个包装类型的对象转换为原始类型时。 Java中的包装类型包括以下几种: In…

微信小程序获取openid

1.需要小程序中调用 wx.login获取临时code值(每次获取的code值只能用一次) wx.login({success (res) {console.log(res)} }) 打印结果为: 2.调用微信提供的apid接口,获取openid,入参需要三个参数:AppID(小…