账户权限控制

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 //设置系统中区块打包最大交易数量设为100
普通账号
在这里插入图片描述
委员账号
在这里插入图片描述

getSystemConfigByKey tx_count_limit //查看区块最大打包交易数量情况

在这里插入图片描述

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.mzph.cn/news/131265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【KVM】软件虚拟化和硬件虚拟化类型

前言 大家好,我是秋意零。 今天介绍的内容是虚拟化技术以及软件虚拟化和硬件虚拟化。 👿 简介 🏠 个人主页: 秋意零🔥 账号:全平台同名, 秋意零 账号创作者、 云社区 创建者🧑 个…

Linux 之搭建 arm 的 qemu 模拟器

目录 1. Linux 之搭建 arm 的 qemu 模拟器 1. Linux 之搭建 arm 的 qemu 模拟器 OS: kali 1. 安装交叉编译工具、GDB 和 QEMU # sudo apt-get install qemu debootstrap qemu-user-static # sudo apt-get install qemu-system-arm # sudo apt-get install gdb-multiarch //支持…

系统提示缺少或找不到d3dcompiler_43.dll文件的详细修复教程

今天我来给大家分享一下关于d3dcompiler_43.dll缺失的4个修复方法。 首先,我们来了解一下d3dcompiler_43.dll的作用。它是DirectX中的一个组件,用于编译Shader和Pixel着色器代码。如果缺少了这个文件,就会导致游戏或应用程序无法正常运行。 …

全能数据分析软件 Tableau Desktop 2019 mac中文版功能亮点

Tableau Desktop 2019 mac是一款专业的全能数据分析工具,可以让用户将海量数据导入并记性汇总,并且支持多种数据类型,比如像是编程常用的键值对、哈希MAP、JSON类型数据等,因此用户可以将很多常用数据库文件直接导入Tableau Deskt…

适合新手自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》

文章目录 内容简介读者对象专家推荐目录赠书活动 CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题: 线下CTF比赛培训中存在…

Docker / OSX快速入门

Docker / OSX快速入门 目录 Docker / OSX快速入门 在Mac上安装 Boot2Docker 关于容器的一个注意事项 一个例子:Python Flask App 运行 在AWS上运行相同的容器 更多东西 本文章向大家介绍Docker / OSX快速入门,主要内容包括在Mac上安装、Boot2Do…

C++11范围for

在C98中,不同的STL容器和C风格数组的遍历方式各不相同,写法也不统一,而且不够简洁。而C11基于范围的for循环可以简洁并且统一的方式遍历STL容器和C风格数组。 在介绍for循环新的语法之前,简单来看一下for循环之前遍历STL容器的例…

力扣:149. 直线上最多的点数(Python3)

题目: 给你一个数组 points ,其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱…

stm32整理(三)ADC

1 ADC简介 1.1 ADC 简介 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部 源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位…

农业中的机器学习

机器学习训练模型推荐: UnrealSynth虚幻合成数据生成器 - NSDT 机器学习是一个不断发展的领域,在农业中有许多潜在的应用。农民和农业科学家正在探索如何转向机器学习开发来提高作物产量、减少用水量和预测病虫害。未来,机器学习可以帮助农民…

相对位置编码RPE:桶的数量

在相对位置编码中,"桶"指的是一种将不同的相对位置映射到一个有限数量的离散区间的方式。这个离散区间的数量通常由"桶的数量"来表示。在编码相对位置时,相对位置的值会被分配到不同的桶中,以便在有限的编码空间中表示无…

Proteus仿真--12864LCD显示计算器键盘按键实验(仿真文件+程序)

本文主要介绍基于51单片机的12864LCD液晶显示电话拨号键盘按键实验(完整仿真源文件及代码见文末链接) 仿真图如下 本设计主要介绍计算器键盘仿真,按键按下后在12864液晶上显示对应按键键值 仿真运行视频 Proteus仿真--12864LCD显示计算器…

设计模式_访问者模式

访问者模式 介绍 设计模式定义案例问题堆积在哪里访问模式访问模式是行为型设计模式 从对象中分类出算法 这些算法封装为对象, 这样这些算法类很容易扩展,添加新的算法类就可以了不同的VIP用户 在不同的节日 领取不同的礼物if else太多 解决办法小技巧…

[自定义 Vue 组件] 小尾巴顶部导航栏(2.0) TailTopNav

文章归档:https://www.yuque.com/u27599042/coding_star/oglrqteg8fzvvzn0 [自定义 Vue 组件] 响应式顶部导航栏(1.0) TopNav:https://www.yuque.com/u27599042/coding_star/hzltsltxgavwx8u2 组件效果示例 组件所依赖的子组件 [自定义 Vue 组件] 小尾巴…

STM32F103C8T6第一天:认识STM32 标准库与HAL库 GPIO口 推挽输出与开漏输出

1. 课程概述(297.1) 课程要求:C语言熟练,提前学完 C51 2. 开发软件Keil5的安装(298.2) 开发环境的安装 编程语言:C语言需要安装的软件有两个:Keil5 和 STM32CubeMX Keil5 的安装…

读书笔记:彼得·德鲁克《认识管理》第3章 西尔斯公司

一、章节内容概述 与其他美国大型企业相比,西尔斯公司的成就更加令人瞩目、更加长盛不衰。然而,当没有任何邮购经验的芝加哥服装商人罗森沃尔德 1895年进行收购时,该公司已濒临破产。罗森沃尔德深入思考了公司的 业务,并询问下列…

android display 杂谈(三)WMS

用来记录学习wms,后续会一点一点更新。。。。。。 代码:android14 WMS是在SystemServer进程中启动的 在SystemServer中的main方法中,调用run方法。 private void run() { // Initialize native services.初始化服务,加载andro…

[SSD综述 1.4] SSD固态硬盘的架构和功能导论

依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< ​ 前言 机械硬盘的存储系统由于内部结构, 其IO访问性能无法进一步提高,CPU与存储器之间的性能差距逐渐扩大。以Nand Flash为存储介质的固态硬盘技术的发展,…

【持续更新】Mybatis常用代码汇总

目录 通用 #{} 和 ${} 返回类型 查询 sql处理 in数组处理 if语句 choose when association 一对一关联查询 日期格式 通用 #{} 和 ${} 在MyBatis 的xml映射配置文件中&#xff0c;动态传参有#{}和${}两种方式 1&#xff09;#{}&#xff1a;动态解析 -> 预编译…

什么是缓冲区溢出?

缓冲区溢出 1. 什么是缓冲区溢出2. 缓冲区溢出攻击的类型3. 攻击者如何利用缓冲区溢出4. 如何防止缓冲区溢出攻击 1. 什么是缓冲区溢出 &#xff08;1&#xff09;缓冲区 缓冲区是一块连续的计算机内存区域&#xff0c;用于在将数据从一个位置移到另一位置时临时存储数据。这…