Skip to content

Commit

Permalink
Merge pull request #244 from WeBankFinTech/dev
Browse files Browse the repository at this point in the history
v1.4.1 dev=>master
  • Loading branch information
mingzhenliu authored Oct 12, 2020
2 parents f26ef0a + a3b2b04 commit 97eeaa7
Show file tree
Hide file tree
Showing 26 changed files with 2,686 additions and 613 deletions.
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
# The short X.Y version.
version = '1.4'
# The full version, including alpha/beta/rc tags.
release = 'v1.4.0'
release = 'v1.4.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
40 changes: 37 additions & 3 deletions docs/WeBASE-Console-Suit/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,15 +226,42 @@ CRUD:CRUD通过在Solidity合约中支持分布式存储预编译合约,可

系统管理目前支持权限管理、系统配置管理、证书管理的功能。

**权限管理**:支持链权限管理和普通权限(四种)管理:(基于FISCO BCOS 2.0.0 - 2.4.x的权限管理)
**权限管理**

**基于FISCO BCOS 2.5.0及以上版本的基于角色的权限管理**:支持链委员会管理和运维管理员管理:
- **链委员会管理**:链委员会的修改操作均需要通过多个委员投票完成,链委员拥有投票权,可以增删节点、修改链配置、添加撤销运维、冻结解冻合约、对用户表的写权限控制;
- 修改委员会成员(新增/撤销委员)、修改委员投票阈值、修改委员投票权重值等操作均需要通过投票进行修改;
- 投票阈值为投票生效的阈值,**有效投票权重数/委员总权重数>生效阈值**投票才能生效,阈值为开区间,即:投票权重比例必须大于阈值(不包含等于);
- 每次投票操作,如果是委员投票,则记录操作内容和投票委员,不重复计票;
- 投票设置过期时间,根据块高,blockLimit的10倍(即10000),固定不可改;
- 用户不能同时成为链委员和运维管理员;
- **运维管理**: 运维由链委员直接赋予(无需通过投票赋予),运维可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约;

> **注:**链委员会为空时,不作链委员会权限限制,所有用户拥有委员权限,可以自由给自身或其他用户添加链委员权限;设置了第一个链委员后,非链委员用户无权限;请妥善保管链委员的私钥!
>
> 运维管理员为空时,所有用户拥有运维权限;同理,设置了第一个运维管理员后,非运维用户无权限;
FISCO-BCOS基于角色的权限管理机制详情可以参考文档[使用手册-基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2),具体的设计原理可以参考文档
[系统设计-基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/security_control/chain_governance.html)

链委员会管理:

![](../../images/WeBASE-Console-Suit/governance_committee.png)

运维管理员管理:

![](../../images/WeBASE-Console-Suit/governance_operator.png)


**基于FISCO BCOS 2.0.0 - 2.4.x版本的基于表的权限管理**:支持链权限管理和普通权限(四种)管理:
- 链权限管理为分配权限的链管理员,可以使用权限分配功能,非链管理员账户无权限分配功能;
- 普通权限管理包含四种权限: 部署合约和创建用户表权限, 节点管理权限, CNS管理权限, 系统参数管理权限;

> 注:链管理员为空时,不作权限限制,所有用户拥有权限,可以自由给自身或其他用户添加权限;设置了第一个链管理员后,非管理员用户无权限分配功能;请谨慎设置第一个链管理员;
>
> 普通权限管理员为空时,所有用户拥有特定功能,如:节点管理员为空时,所有用户可以管理节点状态,设置了第一个节点管理员后,非节点管理员不可管理节点状态;
FISCO-BCOS权限管理机制详情可以参考文档[FISCO-BCOS权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html)
FISCO-BCOS基于表的权限管理机制详情可以参考文档[FISCO-BCOS基于表的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html)

链权限管理:

Expand Down Expand Up @@ -377,10 +404,17 @@ FISCO-BCOS证书说明可以参考FISCO-BCOS使用手册的[证书说明](https:

### 账号管理

账号管理提供管理台登陆账号的管理功能。管理台用户分为两种角色
账号管理提供管理台登陆账号的管理功能。管理台用户分为三种角色
- 普通用户,只有查看权限;

- 管理员用户,拥有管理平台的读写权限;

- 开发者用户,拥有开发者自身的合约和私钥用户的读写权限,数据概览权限;

开发者模式默认关闭。如需开启此功能,可以在WeBASE-Node-Manager配置文件application.yml中修改developerModeEnable为true,然后重启服务。

![](../../images/WeBASE-Console-Suit/developer_mode_enable.png)

注:此处账号与私钥管理的私钥用户为两种不同的概念,账号用于管理台权限控制,私钥用户为区块链账户。

账号管理:
Expand Down
56 changes: 28 additions & 28 deletions docs/WeBASE-Front/appendix.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,45 @@

## 1. 安装问题

<span id="jdk"></span>
### 1.1 Java部署

此处给出OpenJDK安装简单步骤,供快速查阅。更详细的步骤,请参考[官网](https://openjdk.java.net/install/index.html)
#### CentOS环境安装Java
<span id="centosjava"></span>

#### ① 安装包下载
**注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)**

[官网](https://jdk.java.net/java-se-ri/11)下载对应版本的java安装包,并解压到服务器相关目录

```shell
mkdir /software
tar -zxvf openjdkXXX.tar.gz /software/
```
# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录
# 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz
$ mkdir /software
#### ② 配置环境变量

- 修改/etc/profile

```
sudo vi /etc/profile
```
# 解压jdk
$ tar -zxvf jdk-8u201-linux-x64.tar.gz
- 在/etc/profile末尾添加以下信息
# 配置Java环境,编辑/etc/profile文件
$ vim /etc/profile
```shell
JAVA_HOME=/software/jdk-11
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH==.:$JAVA_HOME/lib
export JAVA_HOME CLASSPATH PATH
```
# 打开以后将下面三句输入到文件里面并保存退出
export JAVA_HOME=/software/jdk-8u201 #这是一个文件目录,非文件
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 重载/etc/profile
# 生效profile
$ source /etc/profile
```
source /etc/profile
# 查询Java版本,出现的版本是自己下载的版本,则安装成功。
java -version
```

#### ③ 查看版本
#### Ubuntu环境安装Java
<span id="ubuntujava"></span>

```
java -version
# 安装默认Java版本(Java 8或以上)
sudo apt install -y default-jdk
# 查询Java版本
java -version
```

### 1.2 Gradle部署
Expand Down Expand Up @@ -152,7 +151,8 @@ FAILURE: Build failed with an exception.
nested exception is javax.net.ssl.SSLException: Failed to initialize the client-side SSLContext: Input stream not contain valid certificates.
```

答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。
答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐使用[OracleJDK](#jdk)


- 7:启动报错“Processing bcos message timeout”

Expand All @@ -163,7 +163,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating
...
```

答:一些Oracle JDK版本缺少相关包,导致节点连接异常。推荐使用OpenJDK,从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载
答:一些OpenJDK版本缺少相关包,导致节点连接异常。推荐使用[OracleJDK](#jdk)

- 8:启动失败,日志却没有异常

Expand Down
2 changes: 1 addition & 1 deletion docs/WeBASE-Front/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
| Java | JDK8或以上版本 |
| FISCO-BCOS | V2.0.x版本 |

**备注:** Java推荐使用[OpenJDK](./appendix.html#java ),建议从[OpenJDK网站](https://jdk.java.net/java-se-ri/11) 自行下载(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点)
**备注:** Java推荐使用[OracleJDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html),可参考[JDK配置指引](./appendix.html#jdk)(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点)

### 国密支持

Expand Down
Loading

0 comments on commit 97eeaa7

Please sign in to comment.