Skip to content

Commit

Permalink
Merge pull request #1192 from kyonRay/dev
Browse files Browse the repository at this point in the history
<fix>(docs): fix docs urls.
  • Loading branch information
MaggieNgWu committed Mar 18, 2021
2 parents 21e6f54 + ca6c811 commit a809470
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 22 deletions.
6 changes: 3 additions & 3 deletions docs/manual/consensus_recover.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ bash ./node3/start.sh
**处理步骤**:假设网络中存在A、B、C、D四个共识节点,C、D节点由于某些原因发生崩溃,导致网络无法正常共识打包出块。
1. **获取rocksdb-storage工具**编译 [FISCO BCOS源码](https://github.com/FISCO-BCOS/FISCO-BCOS) 获取 rocksdb-storage 工具,使用该工具查询、修改 rocksdb 数据库中信息;
1. **获取rocksdb-storage工具**编译FISCO BCOS源码获取 rocksdb-storage 工具,使用该工具查询、修改 rocksdb 数据库中信息;
2. **关闭节点A和节点B**:为了防止操作数据库给正在运行的网络造成影响,建议先关闭节点A和节点B;
3. **手动修改节点A和节点B的数据库**:确保A、B、C、D节点块高一致的前提下修改节点A和节点B数据库中 `_sys_consensus_` 表,将节点C和节点D的 type 字段值从 sealer 修改为 observer;
4. **启动节点A和节点B**:启动节点之后,网络中共识节点只有节点A和节点B,满足 PBFT 共识条件,网络可正常共识打包出块;
Expand All @@ -178,7 +178,7 @@ bash ./node3/start.sh
### 获取rocksdb-storage工具
FISCO BCOS 提供查询、修改 rocksdb 数据库信息的 rocksdb-storage 工具。该工具需要手动编译 [FISCO BCOS源码](https://github.com/FISCO-BCOS/FISCO-BCOS) 获取,编译时通过 `cmake -DTOOL=on ..` 打开工具开关,编译成功后 rocksdb-storage 工具位于 `FISCO-BCOS/build/bin/`。详细编译步骤可参考:[编译](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html#id5)。
FISCO BCOS 提供查询、修改 rocksdb 数据库信息的 rocksdb-storage 工具。该工具需要手动编译FISCO BCOS源码获取:[FISCO BCOS GitHub源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS)或[FISCO BCOS Gitee源码链接](https://gitee.com/FISCO-BCOS/FISCO-BCOS),编译时通过 `cmake -DTOOL=on ..` 打开工具开关,编译成功后 rocksdb-storage 工具位于 `FISCO-BCOS/build/bin/`。详细编译步骤可参考:[编译](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html#id5)。
```shell
# 编译成功后将 rocksdb-storage 工具移动到节点主目录,如 ~/fisco/nodes/127.0.0.1/
Expand Down Expand Up @@ -318,7 +318,7 @@ bash ./node3/start.sh
FISCO BCOS 提供 rocksdb-storage 工具帮助用户对 rocksdb 数据库进行常规 CRUD 操作,此外 rocksdb-storage 工具也支持手动创建数据表。
**获取途径**手动编译 [FISCO BCOS源码](https://github.com/FISCO-BCOS/FISCO-BCOS)。编译时通过 `cmake -DTOOL=on ..` 打开工具开关,编译成功后 rocksdb-storage 工具位于 `FISCO-BCOS/build/bin/`。详细编译步骤可参考:[编译](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html#id5)。
**获取途径**手动编译FISCO BCOS源码:[FISCO BCOS GitHub源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS)或[FISCO BCOS Gitee](https://gitee.com/FISCO-BCOS/FISCO-BCOS)。编译时通过 `cmake -DTOOL=on ..` 打开工具开关,编译成功后 rocksdb-storage 工具位于 `FISCO-BCOS/build/bin/`。详细编译步骤可参考:[编译](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html#id5)。
### 帮助
Expand Down
2 changes: 1 addition & 1 deletion docs/manual/data_governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ binlog文件记录了每个区块的每个交易对区块链状态的修改结
└── 32.binlog
```

基于1,用户可根据下图描述的binlog协议,通过访问binlog文件来获取指定key的历史修改记录。解析binlog文件的具体操作可参考[binlog_reader](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/fisco-bcos/tools/binlog_reader.cpp)的相关实现。
基于1,用户可根据下图描述的binlog协议,通过访问binlog文件来获取指定key的历史修改记录。解析binlog文件的具体操作可参考[binlog_reader GitHub源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/fisco-bcos/tools/binlog_reader.cpp)[binlog_reader Gitee源码链接](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/fisco-bcos/tools/binlog_reader.cpp)的相关实现。

![](../../images/storage/binlog.png)

Expand Down
14 changes: 8 additions & 6 deletions docs/manual/privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ FISCO BCOS采用的是paillier加密算法,支持加法同态。paillier的公

FISCO BCOS同态加密模块提供的功能组件包括:

- paillier[同态库](https://github.com/FISCO-BCOS/paillier-lib),包括java库和c++同态接口。
- paillier同态库[GitHub源码](https://github.com/FISCO-BCOS/paillier-lib)/[Gitee源码](https://gitee.com/FISCO-BCOS/paillier-lib),包括java库和c++同态接口。

- paillier[预编译合约](#id18),供智能合约调用,提供密文同态运算接口。

Expand Down Expand Up @@ -90,11 +90,11 @@ FISCO BCOS群/环签名模块提供的功能组件包括:

FISCO BCOS专门为用户提供了群/环签名开发示例,包括:

- 群/环签名[服务端](https://github.com/FISCO-BCOS/group-signature-server): 提供完整的群/环签名RPC服务。
- 群/环签名服务端: 提供完整的群/环签名RPC服务。[GitHub源码](https://github.com/FISCO-BCOS/group-signature-server)[Gitee源码](https://gitee.com/FISCO-BCOS/group-signature-server)

- 群/环签名[客户端](https://github.com/FISCO-BCOS/sig-service-client): 调用RPC服务对数据进行签名,并提供签名上链以及链上验证等功能。
- 群/环签名客户端: 调用RPC服务对数据进行签名,并提供签名上链以及链上验证等功能。[GitHub源码](https://github.com/FISCO-BCOS/sig-service-client)[Gitee源码](https://gitee.com/FISCO-BCOS/sig-service-client)

示例框架如下图所示,具体操作方法请参阅[客户端指南](https://github.com/FISCO-BCOS/sig-service-client)
示例框架如下图所示,具体操作方法请参阅[客户端指南 Github链接](https://github.com/FISCO-BCOS/sig-service-client)[客户端指南 Gitee链接](https://gitee.com/FISCO-BCOS/sig-service-client)

![](../../images/privacy/demo.jpg)

Expand All @@ -117,7 +117,9 @@ bash ../manual/build_chain.sh -l 127.0.0.1:4 -e bin/fisco-bcos

1.已为隐私模块的预编译合约分配了地址,无需另行注册。隐私模块实现的预编译合约列表以及地址分配如下:

| 地址 | 功能 | [源码](https://github.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled/extension) |
源码可参考链接:[GitHub链接](https://github.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled/extension)[Gitee链接](https://gitee.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled/extension)

| 地址 | 功能 | 源码 |
| ------ | ---------- | ------------------------------------------------------------ |
| 0x5003 | 同态加密 | PaillierPrecompiled.cpp |
| 0x5004 | 群签名 | GroupSigPrecompiled.cpp |
Expand Down Expand Up @@ -170,7 +172,7 @@ call PaillierPrecompiled 0x5003 paillierAdd "0100E97E06A781DAAE6DBC9C094FC963D73
0100E97E06A781DAAE6DBC9C094FC963D73B340D99FD934782A5D629E094D3B051FBBEA26F46BB681EB5314AE98A6A63805834E26BD0154243581DD77709C5DB15357DBEC34F8D8B9D5892FDF5F5FC56B1474CF58D6AC23AA867E34653B469058DCDBDC283D493711022131FBCBCFAC639919A7C0FE45EECDBD43FA543492D3058737F567626318282C2C35027B05E901F45CB3B71479FC49FD08B3F81C82326DEF28739D6A7D090F93D1B5058CDA89134AB103DB49EA51FF14310179FF9B3284BC6C3B6BA3BB0FCB35FEA6AF1453A4AAEB3EB82E9B99875BEA89CD970905B40E6E5FC906F0959769865FF29A83CD23ACC0C832A0DE30D0C691335A7ABE2EA0782774D011D9A668B26E65506EF2E8B3EBA70B882DE36FEC5951B64B9D967EE5E05B1AF62EE569358360C43220A756E7FB610FCBD5A366D077C48342EE3025735D6590531A7E609ADE2608BB4173167F972AB860674DB89769E2D97EE3E308D3CA04802EF8F85BC6BFCD270F1FC6AEA5C09F51E8914273D8BD7833D55D9AF3D0102315880A57D531E30EDD8E777CDE8708AE7DDF83A8C5B48854FD4CD4E7372CED017C0BACD49E409C45F7071113B12494D3955BA1D7618E196A14012B11ADB63B857C9033604575FC7FF1D5833A53ACDE8877311FFE78F0CAEBAA27B0E5ADCDD809AEDCD5C7D2CA7F15E53AB7D62ADF04686E05B1F79CA91AFD2CE120AAD7D0F15C8E7B59968CE13BA10C99B50BE696C22A59109C3E6E5EDBE364FF5717443C175DEE5680908AEF67AF6261644AEEFAD42538A8686481CF0109296D1A2FF030143A0DED95F54CC158BF3A3FCD0B2278BDB6942D6E536CA45E3015B764FF5A94B57D232F86CFC66A29C55B9A78336026FFB6D8882E6F4CE2F8D007C225B6B3DE814FC60EB278B25FB0A1F6B4A34E920CA952BC3F14D121D5438E12634AD951EBD5911B281E3ADEC43410B91DC28B68F9D79D7F203245E87EE1DB3883B0C925C5A9BA157AB2F07ACD9A09F89EF211EED16358E78EDAF091FBA914225BF8A7DCDD2DD12EC0ABBC10E9E5F7DD48239B0A68CBD81637B1C0D7ED1DF89D714DFC6C1B7B6B3
```

**注:** 控制台输入的密文可通过paillier库中的[java库](https://github.com/FISCO-BCOS/paillier-lib/tree/master/paillierJava)生成。
**注:** 控制台输入的密文可通过paillier库中的java库生成。源代码链接:[GitHub链接](https://github.com/FISCO-BCOS/paillier-lib/tree/master/paillierJava)[Gitee链接](https://gitee.com/FISCO-BCOS/paillier-lib/tree/master/paillierJava)

## solidity合约调用

Expand Down
20 changes: 12 additions & 8 deletions docs/manual/smart_contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,9 @@ contract TableTest {
FISCO BCOS中实现的precompild合约列表以及地址分配:
| 地址 | 功能 | 源码([libprecompiled目录](https://github.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled)) |
源码可见:([libprecompiled GitHub目录](https://github.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled))、([libprecompiled Gitee目录](https://gitee.com/FISCO-BCOS/FISCO-BCOS/tree/master/libprecompiled))
| 地址 | 功能 | 源码|
| ------ | -------------- | ----------------------------------------------------------------------------------------------- |
| 0x1000 | 系统参数管理 | SystemConfigPrecompiled.cpp |
| 0x1001 | 表工厂合约 | TableFactoryPrecompiled.cpp |
Expand Down Expand Up @@ -407,7 +409,7 @@ FISCO BCOS中实现的precompild合约列表以及地址分配:
- **实现调用逻辑**
实现新增合约的调用逻辑,需要新实现一个c++类,该类需要继承[Precompiled](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/Precompiled.h#L37), 重载call函数, 在call函数中实现各个接口的调用行为。
实现新增合约的调用逻辑,需要新实现一个c++类,该类需要继承`Precompiled`类, 重载call函数, 在call函数中实现各个接口的调用行为。可参考源码:[Precompiled GitHub源码](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/Precompiled.h#L42)、[Precompiled Gitee源码](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/Precompiled.h#L42)
```cpp
// libprecompiled/Precompiled.h
Expand All @@ -428,7 +430,8 @@ call函数有三个参数:
如何实现一个Precompiled类在下面的sample中会详细说明。
- **注册合约**

最后需要将合约的地址与对应的类注册到合约的执行上下文,这样通过地址调用precompiled合约时合约的执行逻辑才能被正确识别执行, 查看注册的[预编译合约列表](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libblockverifier/ExecutiveContextFactory.cpp#L36)。
最后需要将合约的地址与对应的类注册到合约的执行上下文,这样通过地址调用precompiled合约时合约的执行逻辑才能被正确识别执行, 查看注册的`预编译合约列表`。可参考链接:[预编译合约列表 GitHub链接](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libblockverifier/ExecutiveContextFactory.cpp#L50),[预编译合约列表 Gitee链接](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/libblockverifier/ExecutiveContextFactory.cpp#L50)

注册路径:

```
Expand Down Expand Up @@ -460,7 +463,8 @@ contract HelloWorld{
```

上述源码为solidity编写的HelloWorld合约, 本章节会实现一个相同功能的预编译合约,通过step by step使用户对预编译合约编写有直观的认识。
示例的c++[源码路径](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp):

示例的c++[GitHub源码路径](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp)或[Gitee源码路径](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp):

```cpp
libprecompiled/extension/HelloWorldPrecompiled.h
Expand Down Expand Up @@ -498,16 +502,16 @@ HelloWorldPrecompiled需要存储set的字符串值,所以涉及到存储操
| --------- | ----------- |
| hello_key | hello_value |



该表只存储一对键值对,key字段为hello_key,value字段为hello_value 存储对应的字符串值,可以通过set(string)接口修改,通过get()接口获取。

##### 2.2.4 实现调用逻辑
添加HelloWorldPrecompiled类,重载call函数,实现所有接口的调用行为,[call函数源码](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L66)。

添加HelloWorldPrecompiled类,重载call函数,实现所有接口的调用行为,[call函数 GitHub源码](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L66)/[call函数 Gitee源码](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L66)。

用户自定义的Precompiled合约需要新增一个类,在类中定义合约的调用行为,在示例中添加HelloWorldPrecompiled类,然后主要需要完成以下工作:

- 接口注册

```c++
// 定义类中所有的接口
const char* const HELLO_WORLD_METHOD_GET = "get()";
Expand Down Expand Up @@ -610,8 +614,8 @@ abi.abiOut(out, strOut1, strOut2, amount);
// amoumt = 11111
```

最后,给出HelloWorldPrecompiled call函数的完整实现[GitHub源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L63)或[Gitee源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L63)。

最后,给出HelloWorldPrecompiled call函数的完整实现[源码链接](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/HelloWorldPrecompiled.cpp#L66)。
```c++
bytes HelloWorldPrecompiled::call(dev::blockverifier::ExecutiveContext::Ptr _context,
bytesConstRef _param, Address const& _origin)
Expand Down
4 changes: 2 additions & 2 deletions docs/manual/transaction_parallel.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ FISCO BCOS提供了**可并行合约开发框架**,开发者只需按照框架

### solidity合约并行框架

编写并行的solidity合约,开发流程与开发[普通的solidity合约的流程相同](./smart_contract.html#id1)。在基础上,只需要将[``` ParallelContract ```](https://github.com/FISCO-BCOS/web3sdk/blob/master/src/test/resources/contract/ParallelContract.sol) 作为需要并行的合约的基类,并调用``` registerParallelFunction() ```,注册可以并行的接口即可。(ParallelContract.sol合约代码[参考这里](https://github.com/FISCO-BCOS/web3sdk/blob/master/src/test/resources/contract/ParallelContract.sol)
编写并行的solidity合约,开发流程与开发[普通的solidity合约的流程相同](./smart_contract.html#id1)。在基础上,只需要将[``` ParallelContract ```](https://github.com/FISCO-BCOS/web3sdk/blob/master/src/test/resources/contract/ParallelContract.sol) 作为需要并行的合约的基类,并调用``` registerParallelFunction() ```,注册可以并行的接口即可。(ParallelContract.sol合约代码[GitHub源码](https://github.com/FISCO-BCOS/web3sdk/blob/master/src/test/resources/contract/ParallelContract.sol)[Gitee源码](https://gitee.com/FISCO-BCOS/web3sdk/blob/master/src/test/resources/contract/ParallelContract.sol)

先给出完整的举例,例子中的ParallelOk合约实现了并行转账的功能

Expand Down Expand Up @@ -365,7 +365,7 @@ total transactions = 193332, execute_time = 34580ms, tps = 5590 (tx/s)
### 并行预编译合约:DagTransferPrecompiled
与ParallelOk合约的功能一样,FISCO BCOS内置了一个并行预编译合约的例子([DagTransferPrecompiled](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/DagTransferPrecompiled.cpp)),实现了简单的基于账户模型的转账功能。该合约能够管理多个用户的存款,并提供一个支持并行的transfer接口,实现对用户间转账操作的并行处理。
与ParallelOk合约的功能一样,FISCO BCOS内置了一个并行预编译合约的例子([DagTransferPrecompiled GitHub源码](https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/DagTransferPrecompiled.cpp)或[DagTransferPrecompiled Gitee源码](https://gitee.com/FISCO-BCOS/FISCO-BCOS/blob/master/libprecompiled/extension/DagTransferPrecompiled.cpp)),实现了简单的基于账户模型的转账功能。该合约能够管理多个用户的存款,并提供一个支持并行的transfer接口,实现对用户间转账操作的并行处理。
**注意:DagTransferPrecompiled为并行交易的举例,功能较为简单,请勿用于线上业务。**
Expand Down
2 changes: 1 addition & 1 deletion docs/sdk/java_sdk/amop.md
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ amop.stop()

## 3. 示例

更多的示例请看[java-sdk-demo](https://github.com/FISCO-BCOS/java-sdk-demo)项目源码``java-sdk-demo/src/main/java/org/fisco/bcos/sdk/demo/amop/tool``下的代码示范。
更多的示例请看[java-sdk-demo](https://github.com/FISCO-BCOS/java-sdk-demo)项目源码``java-sdk-demo/src/main/java/org/fisco/bcos/sdk/demo/amop/tool``下的代码示范,链接:[java-sdk-demo GitHub链接](https://github.com/FISCO-BCOS/java-sdk-demo)[java-sdk-demo Gitee链接](https://gitee.com/FISCO-BCOS/java-sdk-demo)

* 普通话题代码示例:

Expand Down
11 changes: 11 additions & 0 deletions docs/tutorial/caliper.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
```bash
# 安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

# 若出现因网络问题导致长时间下载失败,可尝试以下命令
curl -o- https://gitee.com/mirrors/nvm/raw/v0.33.2/install.sh | bash

# 加载nvm配置
source ~/.$(basename $SHELL)rc
# 安装Node.js 8
Expand Down Expand Up @@ -210,6 +214,13 @@ npx caliper bind --caliper-bind-sut fisco-bcos --caliper-bind-sdk latest
git clone https://github.com/vita-dounai/caliper-benchmarks.git
```

**注意** 若出现网络问题导致的长时间拉取代码失败,则尝试以下方式:

```bash
# 拉取gitee代码
git clone https://gitee.com/mirrors_hyperledger/caliper-benchmarks.git
```

**执行HelloWorld合约测试**

```bash
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/enc.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

## 第一步. 部署Key Manager

每个机构一个Key Manager,具体的部署步骤,可参考[Key Manager README](https://github.com/FISCO-BCOS/key-manager)
每个机构一个Key Manager,具体的部署步骤,可参考[Key Manager GitHub README](https://github.com/FISCO-BCOS/key-manager)[Key Manager Gitee README](https://gitee.com/FISCO-BCOS/key-manager)

```eval_rst
.. important::
Expand Down

0 comments on commit a809470

Please sign in to comment.