Skip to content

Commit

Permalink
Merge pull request #525 from CodingCattwo/dev-3.0
Browse files Browse the repository at this point in the history
update interface of funcParam to list string
  • Loading branch information
CodingCattwo authored Apr 7, 2023
2 parents 14b6331 + 743f863 commit 24d1524
Show file tree
Hide file tree
Showing 11 changed files with 238 additions and 80 deletions.
2 changes: 1 addition & 1 deletion docs/WeBASE-Front/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 使用说明

WeBASE-Front是和FISCO-BCOS节点配合使用的一个子系统。此分支支持FISCO-BCOS 2.0以上版本,集成web3sdk,对接口进行了封装,可通过HTTP请求和节点进行通信。另外,具备可视化控制台,可以在控制台上开发智能合约,部署合约和发送交易,并查看交易和区块详情。还可以管理私钥,对节点健康度进行监控和统计。
WeBASE-Front是和FISCO-BCOS节点配合使用的一个子系统。此分支支持FISCO-BCOS 2.0以上版本,集成java-sdk,对接口进行了封装,可通过HTTP请求和节点进行通信。另外,具备可视化控制台,可以在控制台上开发智能合约,部署合约和发送交易,并查看交易和区块详情。还可以管理私钥,对节点健康度进行监控和统计。


WeBASE-Front使用方式有以下三种:
Expand Down
4 changes: 4 additions & 0 deletions docs/WeBASE-Front/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ WeBASE-Front v1.2.2+已支持 [国密版FISCO-BCOS](https://fisco-bcos-documenta

WeBASE-Front v1.4.2已支持solidity `v0.5.1``v0.6.10`

#### solidity v0.8.11支持

WeBASE-Front v3.0.1已支持solidity `v0.8.11`

#### Liquid支持

如果使用的`liquid`合约的链并在WeBASE-Front的合约IDE中编译Liquid合约,要求**手动**在WeBASE-Front所在主机[配置Liquid环境](https://liquid-doc.readthedocs.io/zh_CN/latest/docs/quickstart/prerequisite.html)
Expand Down
103 changes: 69 additions & 34 deletions docs/WeBASE-Front/interface.md

Large diffs are not rendered by default.

8 changes: 0 additions & 8 deletions docs/WeBASE-Front/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,3 @@ WeBASE-Front升级的必须步骤:
2. 采用新的安装包,并将旧版本yml已有配置添加到新版本yml中;可通过`diff aFile bFile`命令对比新旧yml的差异
3. `bash stop.sh && bash start.sh`重启


各个版本的具体修改可参考下文

#### lab-rc1
支持FISCO BCOS v3.0.0-rc1

#### lab-rc2
支持FISCO BCOS v3.0.0-rc2
43 changes: 34 additions & 9 deletions docs/WeBASE-Node-Manager/interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -1576,13 +1576,26 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/200001
### 5.3 部署合约


构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:

```
constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
constructor(uint n,bool b) -> [1,true]
constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
```
3.0.2及以后版本:
> 构造方法参数(funcParam)为String数组,每个参数都使用String字符串表示,多个参数以逗号分隔(参数为数组时同理),示例:
>
> ```
> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
> constructor(uint n,bool b) -> ["1","true"]
> constructor(bytes b,address[] a) -> ["0x1a","[\"0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE\",\"0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9\"]"]
> ```
3.0.2以前的版本:
>
> 构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:
>
> ```
> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
> constructor(uint n,bool b) -> [1,true]
> constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
> ```
#### 传输协议规范
Expand All @@ -1609,7 +1622,7 @@ constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b
| 8 | contractPath | String | 是 | 合约所在目录 |
| 9 | user | String | 是 | WeBASE的私钥用户的地址 |
| 10 | account | String | 是 | 关联账户 |
| 11 | constructorParams | List || 构造函数入参,根据合约构造函数决定 |
| 11 | constructorParams | List<String> | 否 | 构造函数入参,根据合约构造函数决定。String数组,每个参数都通过String字符串表示,包括数组也需要括在双引号内,多个参数以逗号分隔(参数为数组时同理),如:set(string s, string[] l) -> ["str1","[\"arr1\",\"arr2\"]"] |
| 12 | isWasm | Boolean | 是 | 是否为liquid合约,默认为false |
| 13 | contractAddress | String | 否 | 合约地址,如果isWasm为true,则合约地址不能为空 |
Expand Down Expand Up @@ -1709,10 +1722,22 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy
### 5.4 发送交易
3.0.2及以后版本:
方法参数(funcParam)为String数组,每个参数都使用String字符串表示,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> ["1","true"]
function set(bytes b,address[] a) -> ["0x1a","[\"0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE\",\"0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9\"]"]
```
3.0.2以前的版本:
方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> [1,true]
function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
```
Expand All @@ -1739,7 +1764,7 @@ function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8
| 4 | contractId | Int | 是 | 合约编号 |
| 5 | funcName | String | 是 | 合约方法名 |
| 6 | contractAddress | String | 否 | 合约地址 |
| 7 | funcParam | List || 合约方法入参 |
| 7 | funcParam | List<String> | 否 | 合约方法入参,String数组,每个参数都通过String字符串表示,包括数组也需要括在双引号内,多个参数以逗号分隔(参数为数组时同理),如:set(string s, string[] l) -> ["str1","[\"arr1\",\"arr2\"]"] |
| 8 | contractAbi | List | 是 | 合约abi/合约单个函数的abi |
| 9 | useCns | bool | 否 | 是否使用cns调用,默认为false |
| 10 | cnsName | String | 否 | CNS名称,useCns为true时不能为空 |
Expand Down
6 changes: 0 additions & 6 deletions docs/WeBASE-Node-Manager/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,5 @@ WeBASE-Node-Manager升级的必须步骤:
3.2 按照升级文档指引,操作数据表
4. `bash stop.sh && bash start.sh`重启

各个版本的具体修改可参考下文

#### lab-rc1
支持FISCO BCOS v3.0.0-rc1

#### lab-rc2
支持FISCO BCOS v3.0.0-rc2

70 changes: 70 additions & 0 deletions docs/WeBASE-Sign/interfaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,76 @@ b.异常返回结果示例(信息详情请参看附录1)
```


### 5.1. ECDSA/国密对交易体哈希签名接口

#### 接口描述

指定用户通过ECDSA/国密SM2对交易体的哈希进行签名。

#### 接口URL

http://localhost:5004/WeBASE-Sign/sign/hash

#### 调用方法

HTTP POST

#### 请求参数

**1)参数表**

| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** |
| -------- | -------- | -------------- | -------- | ------------ | -------- | ------------------------------------------------------------ |
| 1 | 用户编号 | signUserId | String | 64 || 私钥用户的唯一业务编号,仅支持数字字母下划线 |
| 2 | 交易体哈希 | messageHash | String | || 交易体的哈希,通过java-sdk的TransactionBuilderJniObject.calTransactionDataHash()方法获取交易体的哈希|

**2)数据格式**

```
http://localhost:5004/WeBASE-Sign/sign/hash
```

```
{
"signUserId": "user_111",
"encodedDataStr": "0xa665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"
}
```

#### 响应参数

**1)参数表**

| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** |
| -------- | -------- | ----------- | -------- | ------------ | -------- | ----------------- |
| 1 | 返回码 | code | String | || 返回码信息请附录1 |
| 2 | 提示信息 | message | String | || |
| 3 | 返回数据 | data | Object | || |
| 3.1 | 签名数据 | signDataStr | String | || |

**2)数据格式**

a.请求正常返回结果

```
{
"code": 0,
"message": "success",
"data": {
"signDataStr": "1c3f59a48593b66de4c57fe99f9c429811aa2dc9b495823cd99faa3e72b4a4d02e04bb7c3da6390a17adc00b0e740293c6306229a26a0c0cf2974581880d19e57b"
}
}
```

b.异常返回结果示例(信息详情请参看附录1)

```
{
"code": 203009,
"message": "encoded data string must be hex string",
"data": null
}
```

## 6. 其他接口

Expand Down
8 changes: 0 additions & 8 deletions docs/WeBASE-Sign/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,3 @@ WeBASE-Sign升级的必须步骤:
3.1 若需要升级数据表,首先使用`mysqldump`命令备份数据库
3.2 按照升级文档指引,操作数据表
4. `bash stop.sh && bash start.sh`重启

各个版本的具体修改可参考下文

#### lab-rc1
支持FISCO BCOS v3.0.0-rc1

#### lab-rc2
支持FISCO BCOS v3.0.0-rc2
62 changes: 51 additions & 11 deletions docs/WeBASE-Transaction/interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,27 @@ b.异常返回结果示例(信息详情请参看附录1)

调用此接口发送合约部署相关信息,交易服务子系统会将合约部署请求信息缓存到数据库,通过轮询服务向节点发送交易请求,确保合约成功部署。

构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:

```
constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
constructor(uint n,bool b) -> [1,true]
constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
```
3.0.2及以后版本:
> 构造方法参数(funcParam)为String数组,每个参数都使用String字符串表示,多个参数以逗号分隔(参数为数组时同理),示例:
>
> ```
> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
> constructor(uint n,bool b) -> ["1","true"]
> constructor(bytes b,address[] a) -> ["0x1a","[\"0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE\",\"0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9\"]"]
> ```
3.0.2以前的版本:
>
> 构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:
>
> ```
> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义
> constructor(uint n,bool b) -> [1,true]
> constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
> ```
#### 接口URL
Expand All @@ -95,7 +109,7 @@ HTTP POST
| 3 | 签名类型 | signType | int | 2 | 是 | 0-本地配置私钥签名,1-本地随机私钥签名,2-调用WeBASE-Sign签名 |
| 4 | 合约Bin | contractBin | String | | 是 | |
| 5 | 合约Abi | contractAbi | List\<Object\> | | 是 | JSON数组 |
| 6 | 构造方法参数 | funcParam | List\<Object\> | || JSON数组 |
| 6 | 构造方法参数 | funcParam | List<String> | | 否 | String数组,每个参数都通过String字符串表示,包括数组也需要括在双引号内,多个参数以逗号分隔(参数为数组时同理),如:set(string s, string[] l) -> ["str1","[\"arr1\",\"arr2\"]"] |
| 7 | 签名用户编号 | signUserId | String | | 否 | signType为2时必填 |
**2)数据格式**
Expand Down Expand Up @@ -416,9 +430,22 @@ b.异常返回结果示例(信息详情请参看附录1)
调用此接口发送无状态交易请求,交易服务子系统会将交易请求信息缓存到数据库,通过轮询服务向节点发送交易请求,确保交易成功上链。当部署业务流水号为空时(即不是调用交易子系统部署合约),合约地址和abi不能为空。
3.0.2及以后版本:
方法参数(funcParam)为String数组,每个参数都使用String字符串表示,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> ["1","true"]
function set(bytes b,address[] a) -> ["0x1a","[\"0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE\",\"0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9\"]"]
```
3.0.2以前的版本:
方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> [1,true]
function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
```
Expand All @@ -445,7 +472,7 @@ HTTP POST
| 5 | 合约地址 | contractAddress | String | | 是 | |
| 6 | 合约Abi | contractAbi | List\<Object\> | | 是 | JSON数组 |
| 7 | 调用方法名 | funcName | String | | 是 | |
| 8 | 方法参数 | funcParam | List\<Object\> | || JSON数组 |
| 8 | 方法参数 | funcParam | List\<String\> | | 否 | String数组,每个参数都使用String字符串表示,数组也需要放在双引号内,多个参数以逗号分隔(参数为数组时同理),如:set(string s, string[] l) -> ["str1","[\"arr1\",\"arr2\"]"],根据所调用的合约方法判断是否必填 |
| 9 | 签名用户编号 | signUserId | String | | 否 | signType为2时必填 |
**2)数据格式**
Expand Down Expand Up @@ -498,9 +525,22 @@ b.异常返回结果示例(信息详情请参看附录1)
调用此接口同步从节点查询交易信息。当部署业务流水号为空时(即不是调用交易子系统部署合约),合约地址和abi不能为空。
3.0.2及以后版本:
方法参数(funcParam)为String数组,每个参数都使用String字符串表示,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> ["1","true"]
function set(bytes b,address[] a) -> ["0x1a","[\"0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE\",\"0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9\"]"]
```
3.0.2以前的版本:
方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例:
```
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(string s) -> ["aa,bb\"cc"] // 双引号要转义
function set(uint n,bool b) -> [1,true]
function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]]
```
Expand All @@ -524,7 +564,7 @@ HTTP POST
| 3 | 合约地址 | contractAddress | String | | 否 | |
| 4 | 合约Abi | contractAbi | List\<Object\> | | 否 | JSON数组 |
| 5 | 调用方法名 | funcName | String | | 是 | |
| 6 | 方法参数 | funcParam | List\<Object\> | || JSON数组 |
| 6 | 方法参数 | funcParam | List\<String\> | | 否 | String数组,每个参数都使用String字符串表示,数组也需要放在双引号内,多个参数以逗号分隔(参数为数组时同理),如:set(string s, string[] l) -> ["str1","[\"arr1\",\"arr2\"]"],根据所调用的合约方法判断是否必填 |
**2)数据格式**
```
Expand Down
3 changes: 0 additions & 3 deletions docs/WeBASE-Transaction/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,4 @@ WeBASE-Transaction升级的必须步骤:
3.2 按照升级文档指引,操作数据表
4. `bash stop.sh && bash start.sh`重启

各个版本的具体修改可参考下文

#### lab-rc2
支持FISCO BCOS v3.0.0-rc2
9 changes: 9 additions & 0 deletions docs/WeBASE-Web/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ cd WeBASE-Web
```

#### 2.1 下载solc-bin

#### solidity v0.8.11支持

WeBASE-Web v3.0.1已支持solidity `v0.8.11`


执行脚本get_solc_js.sh会自动下载solc-bin,即下面v0.4.25.js等文件。
`WeBASE-Web/`目录中直接执行脚本get_solc_js.sh((脚本与`dist`文件夹同级))

Expand All @@ -44,10 +50,13 @@ cd WeBASE-Web
curl -#L https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/solidity/wasm/v0.5.2-gm.js -o ./dist/static/js/v0.5.2-gm.js
curl -#L https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/solidity/wasm/v0.6.10.js -o ./dist/static/js/v0.6.10.js
curl -#L https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/solidity/wasm/v0.6.10-gm.js -o ./dist/static/js/v0.6.10-gm.js
curl -#L https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/solidity/wasm/v0.8.11.js -o ./dist/static/js/v0.8.11.js
curl -#L https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/solidity/wasm/v0.8.11-gm.js -o ./dist/static/js/v0.8.11-gm.js
```

执行完后检查dist/static/js是否下载完这些js文件。


### 4. 修改配置

在docs目录下有配置文件nginx.conf,修改完后替换安装的nginx的配置文件nginx.conf(这里nginx安装配置文件在/usr/local/nginx/conf下面,如果这里没找到,可以到/etc下寻找,如有权限问题,请加上sudo)。
Expand Down

0 comments on commit 24d1524

Please sign in to comment.