From 48268ab455e29510261ecc0021eb2c4aadfd5dd8 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Mon, 17 Aug 2020 11:14:53 +0800 Subject: [PATCH 01/11] update doc --- docs/WeBASE-Node-Manager/interface.md | 39 +++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index a5d30bc4..372c04cf 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -124,7 +124,25 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/find | 4.1.3 | frontPort | int | 否 | 前置端口 | | 4.1.4 | createTime | LocalDateTime | 否 | 落库时间 | | 4.1.5 | modifyTime | LocalDateTime | 否 | 修改时间 | -| 4.1.6 | agency | string | 否 | 所属机构 | +| 4.1.6 | agency | string | 否 | 备注所属机构 | +| 4.1.7 | frontVersion | string | 否 | 前置的后台版本,如: v1.4.0 | +| 4.1.8 | signVersion | string | 否 | 前置所连接签名服务的后台版本,如: v1.4.0 | +| 4.1.9 | clientVersion | string | 否 | 链节点的版本,如: 2.5.0 gm | +| 4.1.10| supportVersion | string | 否 | 链节点所支持的最高版本, 如: 2.5.0, (此处仅显示支持的最高版本,不显示是否为国密。若从2.4.0升级到2.5.0,此处将返回2.4.0)| +| 4.1.11 | status | int | 否 | 前置服务状态:0,未创建;1,停止;2,启动; | +| 4.1.12 | runType | int | 否 | 运行方式:0,命令行;1,Docker | +| 4.1.13 | agencyId | int | 否 | 所属机构 ID | +| 4.1.14 | agencyName | string | 否 | 所属机构名称 | +| 4.1.15 | hostId | int | 否 | 所属主机 | +| 4.1.16 | hostIndex | int | 否 | 一台主机可能有多个节点。表示在主机中的编号,从 0 开始编号 | +| 4.1.17 | imageTag | string | 否 | 运行的镜像版本标签 | +| 4.1.18 | containerName | string | 否 | Docker 启动的容器名称 | +| 4.1.19 | jsonrpcPort | int | 否 | jsonrpc 端口 | +| 4.1.20 | p2pPort | int | 否 | p2p 端口 | +| 4.1.21 | channelPort | int | 否 | channel 端口 | +| 4.1.22 | chainId | int | 否 | 所属链 ID | +| 4.1.23 | chainName | string | 否 | 所属链名称 | + ***2)出参示例*** * 成功: @@ -138,8 +156,25 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/find "frontIp": "127.0.0.1", "frontPort": 5002, "agency": "aa", + "frontVersion": "v1.4.0", + "signVersion": "v1.4.0", + "clientVersion": "2.5.0 gm", + "supportVersion": "2.5.0", "createTime": "2019-06-04 20:49:42", - "modifyTime": "2019-06-04 20:49:42" + "modifyTime": "2019-06-04 20:49:42", + "status": 1, + "runType": 1, + "agencyId": 1, + "agencyName": "AgencyA", + "hostId": 1, + "hostIndex": 0, + "imageTag": "v2.5.0", + "containerName": "rootfisconode0", + "jsonrpcPort": 8545, + "p2pPort": 30300, + "channelPort": 20200, + "chainId": 1, + "chainName": "default_chain" } ], "totalCount": 1 From eddbaa1ad74abaa308163409997eb1584215969d Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 17:49:13 +0800 Subject: [PATCH 02/11] 1. add sudo user without password 2. add image check error in QA --- docs/WeBASE-Install/visual_deploy.md | 60 ++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index a1dd70a3..620a96f4 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -11,7 +11,11 @@ 在进行可视化部署之前,请按照部署要求,准备相应的部署环境。 -#### 主机数量 + + +#### 系统环境 + +##### 硬件配置 使用可视化部署搭建一个 **4 节点** 的区块链服务至少需要 **5 台**主机。 其中 1 台主机部署 **可视化部署的依赖** 服务,包括管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、签名服务(WeBASE-Sign)。 @@ -21,15 +25,14 @@ **注意:** - 在企业级部署时,为了安全,推荐将签名服务(WeBASE-Sign)放在内网中,与管理平台、管理子系统分开部署。此处为了方便演示,因此将签名服务(WeBASE-Sign)部署在同一台主机。 -#### 系统环境 -##### 硬件配置 +**具体配置** -| 名称 | 配置 | -|---|---| -| CPU | 2 核 | -| 内存 | 4 G | -| 磁盘 | 500G + | +| 名称 | 最低配置 |推荐配置 | +|---|---|---| +| CPU | 1 核 | 2 核 | +| 内存 | 2 G | 4 G | +| 磁盘 | 100G + | 500G + | ##### 操作系统 部署节点的主机操作系统需要满足安装 Docker 服务的最低版本要求; @@ -55,7 +58,7 @@ 如果使用云服务器,推荐使用**操作系统镜像模板**的方式创建主机,即在一台主机上安装 Docker 后,然后使用安装 Docker 服务后的操作系统做一个镜像模板。通过这个模板镜像来创建主机,这样新创建的主机就自带了 Docker 服务。 -安装 Docker 服务,请参考下文**常见问题**中:[Docker 安装](#id17) +安装 Docker 服务,请参考下文**常见问题**中:[Docker 安装](#install_docker) ##### 拉取 Docker 镜像 @@ -69,7 +72,7 @@ 因此,为了保证部署过程顺利和快速完成,推荐在执行可视化部署前,手动拉取镜像,并将镜像上传到每个需要部署节点服务的主机。 ``` -拉取镜像的方法,请参考下文**常见问题**中:[拉取 Docker 镜像](#id18) +拉取镜像的方法,请参考下文**常见问题**中:[拉取 Docker 镜像](#pull_image) ##### 配置 SSH 免密登录 @@ -111,6 +114,16 @@ `ssh -o StrictHostKeyChecking=no root@[IP]` +**节点主机 sudo 账号免密配置方法** + +```Bash +# 切换到 root 或者有权限账户 +vi /etc/sudoers + +# 添加下面一行并保存 +# 替换 user 为 SSH 免密登录账号 +user ALL=(ALL) NOPASSWD : ALL +``` ### 部署依赖服务 可视化部署需要依赖 WeBASE 的中间件服务,包括**管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、签名服务(WeBASE-Sign)**。 @@ -147,6 +160,11 @@ * 配置文件中 `deployType` 为 `1`,启用节点管理服务的可视化部署功能 * 配置文件中 `webaseSignAddress` 的 IP 地址,其余主机需要通过此IP访问签名服务 +```eval_rst +.. important:: + 1. 注意 WeBASE-Node-Manager 服务的 `webaseSignAddress` 配置,不能配置成 **`127.0.0.1`**,需要填写对外服务的 IP 地址。 +``` + ```yaml constant: # 1.4.0 visual deploy @@ -182,8 +200,8 @@ http://{deployIP}:{webPort} **提示:** - 在执行部署前,请 **手动安装 Docker 服务** 和 **手动拉取 Docker 镜像**,防止由于网络原因导致部署失败 - - 参考下文 **常见问题** 中的 [安装 Docker](#id17) - - 参考下文 **常见问题** 中的 [拉取 Docker 镜像](#id18) + - 参考下文 **常见问题** 中的 [安装 Docker](#install_docker) + - 参考下文 **常见问题** 中的 [拉取 Docker 镜像](#pull_image) - 如果部署 **国密** 版本,**手动下载 TASSL 库**,防止由于 GitHub 不能访问,导致部署失败 - 参考下文**常见问题**中的 [手动下载 TASSL](#tassl),手动下载 TASSL 下载库 @@ -220,8 +238,8 @@ http://{deployIP}:{webPort} - 参考上文的 [配置 SSH 免密登录](#ssh) - **手动安装 Docker 服务**和 **手动拉取 Docker 镜像**,防止由于网络原因导致添加失败 - - 参考下文**常见问题**中的 [安装 Docker](#id17) - - 参考下文**常见问题**中的 [拉取 Docker 镜像](#id18) + - 参考下文**常见问题**中的 [安装 Docker](#install_docker) + - 参考下文**常见问题**中的 [拉取 Docker 镜像](#pull_image) - 新增的节点,**默认处于游离状态**,需要手动**变更节点为共识或者观察节点**后,新节点开始从原有节点同步区块数据。 @@ -257,7 +275,8 @@ http://{deployIP}:{webPort} ### 常见问题 -#### 安装 Docker + +#### 安装 Docker 在 Debian/Ubuntu/CentOS/RHEL,直接执行命令: ```Bash @@ -291,7 +310,7 @@ wget https://download.docker.com/linux/centos/8/x86_64/stable/Packages/container yum localinstall containerd.io-1.2.13-3.2.el7.x86_64.rpm ``` - + #### 拉取 Docker 镜像 镜像版本: @@ -379,6 +398,15 @@ FISCO BCOS 国密版本需要使用 TASSL 生成国密版本的证书,部署 #### 没有进入可视化部署界面 在登录区块链管理平台后,没有进入可视化部署页面。此时,修改 WeBASE-Node-Manager 服务中的 `dist/conf/application.yml` 文件中的 `deployType` 的值是否为 `1` 后,重启 WeBASE-Node-Manager 服务即可。 +#### 新增节点时,提示请手动拉取 Docker 镜像错误 + +SSH 登录新主机,使用 `docker images -a |grep -i "fiscoorg/fisco-webase"` 命令检查是否有镜像。 + +* 如果存在,请参考上文: **常见问题** 中的 [拉取 Docker 镜像](#pull_image) + +* 如果**不**存在,请检查新主机中 SSH 账号的 `sudo` 免密配置。 + + #### 部署失败以及区块链重置 如果在部署区块链服务时,出现了部署失败的问题,可以使用重置功能,重置区块链服务,然后进行重新部署。 From 5b5b9c6a3844e36a71c33637a41c00ad579a1933 Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 17:58:56 +0800 Subject: [PATCH 03/11] update importantline --- docs/WeBASE-Install/visual_deploy.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 620a96f4..94f16ed8 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -154,7 +154,6 @@ user ALL=(ALL) NOPASSWD : ALL * 参考 [节点管理平台 WeBASE-Web 部署文档](../WeBASE-Web/install.html#id1) 部署 WeBASE-Web 服务 * 节点管理子系统(WeBASE-Node-Manager) - * 参考 [节点管理服务 WeBASE-Node-Manager 部署文档](../WeBASE-Node-Manager/install.html#id1) 部署 WeBASE-Node-Manager 服务 * 修改 `WeBASE-Node-Manager/dist/conf/application.yml` 配置文件示例如下: * 配置文件中 `deployType` 为 `1`,启用节点管理服务的可视化部署功能 @@ -181,7 +180,7 @@ user ALL=(ALL) NOPASSWD : ALL # SSH 免密登录的账号 和 端口,默认为 root 和 22 sshDefaultUser: root sshDefaultPort: 22 - ``` + ``` ### 可视化部署节点 From 2c84e440bd8ced98a6a184f7efd065ca326d40e9 Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 18:03:12 +0800 Subject: [PATCH 04/11] update title --- docs/WeBASE-Install/visual_deploy.md | 35 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 94f16ed8..8637a0d9 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -164,23 +164,23 @@ user ALL=(ALL) NOPASSWD : ALL 1. 注意 WeBASE-Node-Manager 服务的 `webaseSignAddress` 配置,不能配置成 **`127.0.0.1`**,需要填写对外服务的 IP 地址。 ``` - ```yaml - constant: - # 1.4.0 visual deploy - # 部署方式修改为 1,启用可视化部署 - deployType: 1 - - # WeBASE-Sign 服务的访问地址,前面部署的签名服务的访问地址 - # 注意 IP 地址,需要其余主机能够使用这个 IP 地址访问到签名服务 - webaseSignAddress: "xxx.xx.xx.xxx:5004" - - # 部署区块链服务的节点主机存放节点配置文件和数据的目录 - rootDirOnHost: "/opt/fisco" - - # SSH 免密登录的账号 和 端口,默认为 root 和 22 - sshDefaultUser: root - sshDefaultPort: 22 - ``` +```yaml + constant: + # 1.4.0 visual deploy + # 部署方式修改为 1,启用可视化部署 + deployType: 1 + + # WeBASE-Sign 服务的访问地址,前面部署的签名服务的访问地址 + # 注意 IP 地址,需要其余主机能够使用这个 IP 地址访问到签名服务 + webaseSignAddress: "xxx.xx.xx.xxx:5004" + + # 部署区块链服务的节点主机存放节点配置文件和数据的目录 + rootDirOnHost: "/opt/fisco" + + # SSH 免密登录的账号 和 端口,默认为 root 和 22 + sshDefaultUser: root + sshDefaultPort: 22 +``` ### 可视化部署节点 @@ -274,6 +274,7 @@ http://{deployIP}:{webPort} ### 常见问题 + #### 安装 Docker 在 Debian/Ubuntu/CentOS/RHEL,直接执行命令: From c61d88a01f067ba8ca75d0409a7b62e99b276352 Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 18:14:25 +0800 Subject: [PATCH 05/11] update title 2 --- docs/WeBASE-Install/visual_deploy.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 8637a0d9..4f6e8d03 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -276,6 +276,7 @@ http://{deployIP}:{webPort} ### 常见问题 + #### 安装 Docker 在 Debian/Ubuntu/CentOS/RHEL,直接执行命令: @@ -311,6 +312,7 @@ yum localinstall containerd.io-1.2.13-3.2.el7.x86_64.rpm ``` + #### 拉取 Docker 镜像 镜像版本: From 37c35dcdf5944e53ca2fdf4bcc1a605a3bd7a607 Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 19:47:25 +0800 Subject: [PATCH 06/11] delete python 2.7 support --- docs/WeBASE/install.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 7e471980..c24a42a7 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -13,7 +13,7 @@ | ------ | ---------------------- | | Java | JDK8或以上版本 | | MySQL | MySQL-5.6或以上版本 | -| Python | 推荐Python3.4+ | +| Python | 推荐Python3.5+ | | PyMySQL | 使用python3时需安装 | ### 检查环境 @@ -44,20 +44,18 @@ mysql --version #### 检查Python -推荐使用Python3.4或以上版本: +推荐使用Python3.5或以上版本: ``` python --version ``` - Python安装部署可参考[Python部署](#id17) -#### PyMySQL部署(Python3.4+) +#### PyMySQL部署(Python3.5+) -Python3.4及以上版本,需安装`PyMySQL`依赖包 +Python3.5及以上版本,需安装`PyMySQL`依赖包 -**备注** 同时支持python2.7+:使用python2.7+时,需安装`MySQL-python`。推荐参考[Mysql-python安装示例](#mysql-python-python2-7)文档进行安装; - -python3.4+版本安装`PyMysql`依赖包方法: +python3.5+版本安装`PyMysql`依赖包方法: - CentOS @@ -493,7 +491,7 @@ python --version ``` python2.7+版本,需要安装`MySQL-python`,安装方法如下: -*注*:同时支持python3.4+,python3.4+时需要安装`Py-MySQL`依赖包,可参考 [检查python环境-PyMysql](#pymysql-python3-4) +*注*:同时支持python3.5+,python3.5+时需要安装`Py-MySQL`依赖包,可参考 [检查python环境-PyMysql](#pymysql-python3-5) python2.7+版本安装`MySQL-python`依赖包方法: @@ -545,7 +543,7 @@ Traceback (most recent call last): ImportError: No module named 'pymysql' ``` -答:需要安装PyMySQL,安装请参看 [pymysql](#pymysql-python3-4) +答:需要安装PyMySQL,安装请参看 [pymysql](#pymysql-python3-5) ### 4. 安装MySQL-python遇到问题 From 3f8e05b880240845963513031a60d33b5d81702c Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 20:03:56 +0800 Subject: [PATCH 07/11] delete recommendw word --- docs/WeBASE/install.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index c24a42a7..a8c5f97f 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -13,7 +13,7 @@ | ------ | ---------------------- | | Java | JDK8或以上版本 | | MySQL | MySQL-5.6或以上版本 | -| Python | 推荐Python3.5+ | +| Python | Python3.5+ | | PyMySQL | 使用python3时需安装 | ### 检查环境 @@ -44,7 +44,7 @@ mysql --version #### 检查Python -推荐使用Python3.5或以上版本: +使用Python3.5或以上版本: ``` python --version ``` From 108b0ebef6f9677ebf3b226e0eea49e61cde6d6f Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Fri, 21 Aug 2020 20:48:18 +0800 Subject: [PATCH 08/11] add front access webase sign address --- docs/WeBASE-Install/visual_deploy.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 4f6e8d03..ce53eccf 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -30,8 +30,8 @@ | 名称 | 最低配置 |推荐配置 | |---|---|---| -| CPU | 1 核 | 2 核 | -| 内存 | 2 G | 4 G | +| CPU | 2 核 | 4 核 | +| 内存 | 4 G | 8 G | | 磁盘 | 100G + | 500G + | ##### 操作系统 @@ -161,7 +161,7 @@ user ALL=(ALL) NOPASSWD : ALL ```eval_rst .. important:: - 1. 注意 WeBASE-Node-Manager 服务的 `webaseSignAddress` 配置,不能配置成 **`127.0.0.1`**,需要填写对外服务的 IP 地址。 + 1. 注意 WeBASE-Node-Manager 服务的 `webaseSignAddress` 配置。WeBASE-Front 节点会使用此地址访问 WeBASE-Sign。所以不能使用 **`127.0.0.1`**,需要填写对外服务的 IP 地址。 ``` ```yaml @@ -171,7 +171,7 @@ user ALL=(ALL) NOPASSWD : ALL deployType: 1 # WeBASE-Sign 服务的访问地址,前面部署的签名服务的访问地址 - # 注意 IP 地址,需要其余主机能够使用这个 IP 地址访问到签名服务 + # 注意 IP 地址,WeBASE-Front 会使用此 IP 地址访问签名服务 webaseSignAddress: "xxx.xx.xx.xxx:5004" # 部署区块链服务的节点主机存放节点配置文件和数据的目录 From 24f0f7d4e0acb1beb20e64a30654d3ca98083515 Mon Sep 17 00:00:00 2001 From: "Hongbin.Yuan" Date: Tue, 25 Aug 2020 12:30:22 +0800 Subject: [PATCH 09/11] add 127.0.0.1 comment --- docs/WeBASE-Install/visual_deploy.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index ce53eccf..01c35be1 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -172,6 +172,7 @@ user ALL=(ALL) NOPASSWD : ALL # WeBASE-Sign 服务的访问地址,前面部署的签名服务的访问地址 # 注意 IP 地址,WeBASE-Front 会使用此 IP 地址访问签名服务 + # 不能使用 127.0.0.1 webaseSignAddress: "xxx.xx.xx.xxx:5004" # 部署区块链服务的节点主机存放节点配置文件和数据的目录 From c77071d4a53bd2911be138ecb01a0bba0ded583b Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 25 Aug 2020 15:37:11 +0800 Subject: [PATCH 10/11] adjust front withSign api doc --- docs/WeBASE-Front/interface.md | 361 +++++++++++++++++---------------- 1 file changed, 189 insertions(+), 172 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index f694c59b..af2f7b6f 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -2,6 +2,7 @@ # 接口说明 ## 1. 合约接口 + ### 1.1. 发送abi接口 #### 接口描述 @@ -52,73 +53,8 @@ HTTP POST 无 -### 1.2. 合约部署接口 - -#### 接口描述 - -> 将合约部署到当前节点。 -> -> 构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: -> -> ``` -> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义 -> constructor(uint n,bool b) -> [1,true] -> constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] -> ``` - -构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: - -``` -constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义 -constructor(uint n,bool b) -> [1,true] -constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] -``` - -#### 接口URL - -**http://localhost:5002/WeBASE-Front/contract/deploy** - -#### 调用方法 - -HTTP POST - -#### 请求参数 - -**1)参数表** - -| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** | -| -------- | ------------ | ------------ | -------- | ------------ | -------- | -------------------- | -| 1 | 所属群组 | groupId | int | | 是 | | -| 2 | 用户地址 | user | String | | 是 | 用户地址,可通过`/privateKey`接口创建 | -| 3 | 合约名称 | contractName | String | | 是 | | -| 4 | 合约abi | abiInfo | List | | 是 | 合约编译后生成的abi文件内容 | -| 5 | 合约bin | bytecodeBin | String | | 是 | 合约编译的bytecode(bin),用于部署合约| -| 6 | 构造函数参数 | funcParam | List | | 否 | 合约构造函数所需参数,JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]] | -| 7 | 合约版本 | version | String | | 否 | 用于指定合约在CNS中的版本 | - -**2)数据格式** - -``` -{ - "user":"0x2db346f9d24324a4b0eac7fb7f3379a2422704db", - "contractName":"HelloWorld", - "abiInfo": [], - "bytecodeBin":"", - "funcParam":[] -} -``` - -#### 响应参数 - -**1)数据格式** - -``` -{ - "0x60aac015d5d41adc74217419ea77815ecb9a2192" -} -``` - -### 1.3. 合约部署接口(结合WeBASE-Sign) + +### 1.2. 合约部署接口(结合WeBASE-Sign) #### 接口描述 @@ -141,6 +77,7 @@ constructor(uint n,bool b) -> [1,true] constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] ``` +*查看WeBASE-Front通过本地私钥(测试用户)部署合约的接口(非WeBASE-Sign签名交易),可查看[其他接口-合约部署接口(本地签名)](#deployNoSign)* #### 接口URL @@ -192,7 +129,7 @@ curl -X POST "http://localhost:5002/WeBASE-Front/contract/deployWithSign" -H "ac } ``` -### 1.4. cns接口 +### 1.3. cns接口 #### 接口描述 @@ -231,7 +168,7 @@ http://localhost:5002/WeBASE-Front/contract/cns?groupId=1&name=HelloWorld&versio "0x31b26e43651e9371c88af3d36c14cfd938baf4fd" } ``` -### 1.5. java转译接口 +### 1.4. java转译接口 #### 接口描述 @@ -273,7 +210,7 @@ HTTP POST **1)数据格式** java文件 -### 1.6. 保存合约接口 +### 1.5. 保存合约接口 #### 接口描述 @@ -356,7 +293,7 @@ HTTP POST } ``` -### 1.7. 删除合约接口 +### 1.6. 删除合约接口 #### 接口描述 @@ -404,7 +341,7 @@ http://localhost:5002/WeBASE-Front/contract/1/1 ``` -### 1.8. 分页查询合约列表 +### 1.7. 分页查询合约列表 #### 接口描述 @@ -495,7 +432,7 @@ HTTP POST } ``` -### 1.9. 合约是否被修改接口 +### 1.8. 合约是否被修改接口 #### 接口描述 @@ -532,7 +469,7 @@ http://localhost:5002/WeBASE-Front/contract/ifChanged/1/10 true ``` -### 1.10. 后台编译合约 +### 1.9. 后台编译合约 #### 接口描述 @@ -582,7 +519,7 @@ HTTP POST } ``` -### 1.11. 多合约编译 +### 1.10. 多合约编译 #### 接口描述 @@ -636,7 +573,7 @@ HTTP POST ] ``` -### 1.12. 已签名交易发送 +### 1.11. 已签名交易发送 #### 接口描述 @@ -716,7 +653,7 @@ HTTP POST ``` -### 1.13. 已编码查询交易发送 +### 1.12. 已编码查询交易发送 #### 接口描述 @@ -3077,103 +3014,10 @@ HTTP GET ] ``` -### - ## 5. 交易接口 -### 5.1. 交易处理接口 - -#### 接口描述 - -通过合约信息进行调用,前置根据调用的合约方法是否是“constant”方法区分返回信息,“constant”方法为查询,返回要查询的信息。非“constant”方法为发送数据上链,返回块hash、块高、交易hash等信息。 - -方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: - -``` -function set(string s) -> ["aa,bb\"cc"] // 双引号要转义 -function set(uint n,bool b) -> [1,true] -function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] -``` - -#### 接口URL - -**http://localhost:5002/WeBASE-Front/trans/handle** - -#### 调用方法 - -HTTP POST - -#### 请求参数 - -**1)参数表** - -| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** | -| -------- | -------------- | --------------- | -------- | ------------ | -------- | ---------------------------------------------- | -| 1 | 用户地址 | user | String | | 是 | 用户地址,可通过`/privateKey`接口创建 | -| 2 | 合约名称 | contractName | String | | 是 | | -| 3 | 合约地址 | contractAddress | String | | 是 | | -| 4 | 方法名 | funcName | String | | 是 | | -| 5 | 合约编译后生成的abi文件内容 | contractAbi | List | | 是 | 合约中单个函数的ABI,若不存在同名函数可以传入整个合约ABI,格式:JSONArray | -| 6 | 方法参数 | funcParam | List | | 否 | JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]],根据所调用的合约方法判断是否必填 | -| 7 | 群组ID | groupId | int | | 是 | 默认为1 | -| 8 | 合约版本 | version | String | | 否 | CNS中合约版本,该字段在v1.3.0+版本已弃用 | -| 9 | 合约路径 | contractPath | int | | 否 | | - -**2)数据格式** - -示例: - -``` -curl -l -H "Content-type: application/json" -X POST -d '{"contractName": -"HelloWorld", "contractAbi": [{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}], funcName": "set", "funcParam": ["Hi,Welcome!"], "user": "0x2db346f9d24324a4b0eac7fb7f3379a2422704db", "contractAddress":"dasdfav23rf213vbcdvadf3bcdf2fc23rqde","groupId": 1}' http://10.0.0.1:5002/WeBASE-Front/trans/handle -``` - -传入合约abi: -``` -{ - "user":"0x2db346f9d24324a4b0eac7fb7f3379a2422704db", - "contractName":"HelloWorld", - "contractAddress":"dasdfav23rf213vbcdvadf3bcdf2fc23rqde", - "funcName":"set", - "contractAbi":[{"constant":true,"inputs":[],"name":"getVersion","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStorageCell","outputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"n","type":"string"}],"name":"setVersion","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"storageHash","type":"string"},{"name":"storageInfo","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}], - "funcParam":["Hi,Welcome!"], - "groupId" :"1" -} -``` - -#### 响应参数 - -a、正确查询交易返回值信息 - -``` -{"Hi,Welcome!"} -``` - -b、正确发送数据上链返回值信息(交易收据) - -``` -{ - "code": 0, - "message": "success", - "data": { - "blockHash": - "0x1d8d8275aa116d65893291c140849be272dac1d4ca0a0a722f44404b2f2356c3", - "gasUsed": 32798, - "transactionIndexRaw": "0", - "blockNumberRaw": "33", - "blockNumber": 33, - "contractAddress": "0x0000000000000000000000000000000000000000", - "cumulativeGasUsed": 32798, - "transactionIndex": 0, - "gasUsedRaw": "0x801e", - "logs": [], - "cumulativeGasUsedRaw": "0x801e", - "transactionHash":"0x0653a8e959771955330461456dd094a96d9071bfa31e6f43b68b30f10a85689c" - } -} -``` - -### 5.2. 交易处理接口(结合WeBASE-Sign) + +### 5.1. 交易处理接口(结合WeBASE-Sign) #### 接口描述 @@ -3197,6 +3041,8 @@ function set(uint n,bool b) -> [1,true] function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] ``` +*查看WeBASE-Front通过本地私钥(测试用户)交易处理接口(非WeBASE-Sign签名交易),可查看[其他接口-交易处理接口(本地签名)](#transNoSign)* + #### 接口URL **http://localhost:5002/WeBASE-Front/trans/handleWithSign** @@ -5208,6 +5054,177 @@ a、成功: v1.4.0 ``` + +### 10.4. 合约部署接口(本地签名) + +#### 接口描述 + +此接口为WeBASE-Front使用**本地私钥(页面中的测试用户)进行签名** + +> 将合约部署到当前节点。 +> +> 构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: +> +> ``` +> constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义 +> constructor(uint n,bool b) -> [1,true] +> constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] +> ``` + +构造方法参数(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: + +``` +constructor(string s) -> ["aa,bb\"cc"] // 双引号要转义 +constructor(uint n,bool b) -> [1,true] +constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] +``` + +*查看WeBASE-Front通过WeBASE-Sign部署合约的接口(非本地私钥签名交易),可查看[合约接口-合约部署接口(结合WeBASE-Sign)](#deployWithSign)* + + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/contract/deploy** + +#### 调用方法 + +HTTP POST + +#### 请求参数 + +**1)参数表** + +| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** | +| -------- | ------------ | ------------ | -------- | ------------ | -------- | -------------------- | +| 1 | 所属群组 | groupId | int | | 是 | | +| 2 | 用户地址 | user | String | | 是 | 用户地址,可通过`/privateKey`接口创建 | +| 3 | 合约名称 | contractName | String | | 是 | | +| 4 | 合约abi | abiInfo | List | | 是 | 合约编译后生成的abi文件内容 | +| 5 | 合约bin | bytecodeBin | String | | 是 | 合约编译的bytecode(bin),用于部署合约| +| 6 | 构造函数参数 | funcParam | List | | 否 | 合约构造函数所需参数,JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]] | +| 7 | 合约版本 | version | String | | 否 | 用于指定合约在CNS中的版本 | + +**2)数据格式** + +``` +{ + "user":"0x2db346f9d24324a4b0eac7fb7f3379a2422704db", + "contractName":"HelloWorld", + "abiInfo": [], + "bytecodeBin":"", + "funcParam":[] +} +``` + +#### 响应参数 + +**1)数据格式** + +``` +{ + "0x60aac015d5d41adc74217419ea77815ecb9a2192" +} +``` + + +### 10.5. 交易处理接口(本地签名) + +#### 接口描述 + +此接口为WeBASE-Front使用**本地私钥(页面中的测试用户)进行签名** + +通过合约信息进行调用,前置根据调用的合约方法是否是“constant”方法区分返回信息,“constant”方法为查询,返回要查询的信息。非“constant”方法为发送数据上链,返回块hash、块高、交易hash等信息。 + +方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: + +``` +function set(string s) -> ["aa,bb\"cc"] // 双引号要转义 +function set(uint n,bool b) -> [1,true] +function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b166d94BE","0xce867fD9afa64175bb50A4Aa0c17fC7C4A3C67D9"]] +``` + +*查看WeBASE-Front通过WeBASE-Sign交易处理的接口(非本地私钥签名交易),可查看[合约接口-交易处理接口(结合WeBASE-Sign)](#transWithSign)* + + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/trans/handle** + +#### 调用方法 + +HTTP POST + +#### 请求参数 + +**1)参数表** + +| **序号** | **中文** | **参数名** | **类型** | **最大长度** | **必填** | **说明** | +| -------- | -------------- | --------------- | -------- | ------------ | -------- | ---------------------------------------------- | +| 1 | 用户地址 | user | String | | 是 | 用户地址,可通过`/privateKey`接口创建 | +| 2 | 合约名称 | contractName | String | | 是 | | +| 3 | 合约地址 | contractAddress | String | | 是 | | +| 4 | 方法名 | funcName | String | | 是 | | +| 5 | 合约编译后生成的abi文件内容 | contractAbi | List | | 是 | 合约中单个函数的ABI,若不存在同名函数可以传入整个合约ABI,格式:JSONArray | +| 6 | 方法参数 | funcParam | List | | 否 | JSON数组,多个参数以逗号分隔(参数为数组时同理),如:["str1",["arr1","arr2"]],根据所调用的合约方法判断是否必填 | +| 7 | 群组ID | groupId | int | | 是 | 默认为1 | +| 8 | 合约版本 | version | String | | 否 | CNS中合约版本,该字段在v1.3.0+版本已弃用 | +| 9 | 合约路径 | contractPath | int | | 否 | | + +**2)数据格式** + +示例: + +``` +curl -l -H "Content-type: application/json" -X POST -d '{"contractName": +"HelloWorld", "contractAbi": [{\"constant\":false,\"inputs\":[{\"indexed\":false,\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}], funcName": "set", "funcParam": ["Hi,Welcome!"], "user": "0x2db346f9d24324a4b0eac7fb7f3379a2422704db", "contractAddress":"dasdfav23rf213vbcdvadf3bcdf2fc23rqde","groupId": 1}' http://10.0.0.1:5002/WeBASE-Front/trans/handle +``` + +传入合约abi: +``` +{ + "user":"0x2db346f9d24324a4b0eac7fb7f3379a2422704db", + "contractName":"HelloWorld", + "contractAddress":"dasdfav23rf213vbcdvadf3bcdf2fc23rqde", + "funcName":"set", + "contractAbi":[{"constant":true,"inputs":[],"name":"getVersion","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStorageCell","outputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"n","type":"string"}],"name":"setVersion","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"storageHash","type":"string"},{"name":"storageInfo","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}], + "funcParam":["Hi,Welcome!"], + "groupId" :"1" +} +``` + +#### 响应参数 + +a、正确查询交易返回值信息 + +``` +{"Hi,Welcome!"} +``` + +b、正确发送数据上链返回值信息(交易收据) + +``` +{ + "code": 0, + "message": "success", + "data": { + "blockHash": + "0x1d8d8275aa116d65893291c140849be272dac1d4ca0a0a722f44404b2f2356c3", + "gasUsed": 32798, + "transactionIndexRaw": "0", + "blockNumberRaw": "33", + "blockNumber": 33, + "contractAddress": "0x0000000000000000000000000000000000000000", + "cumulativeGasUsed": 32798, + "transactionIndex": 0, + "gasUsedRaw": "0x801e", + "logs": [], + "cumulativeGasUsedRaw": "0x801e", + "transactionHash":"0x0653a8e959771955330461456dd094a96d9071bfa31e6f43b68b30f10a85689c" + } +} +``` + + ## 11. 附录 From 549896b065ae1cac959c38c6920702ab9b3cd2f2 Mon Sep 17 00:00:00 2001 From: marsli Date: Wed, 26 Aug 2020 15:35:22 +0800 Subject: [PATCH 11/11] fix visual deploy url --- docs/WeBASE/install.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 4e40db27..0dd8d73a 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -116,6 +116,7 @@ cd webase-deploy 2. 采用可视化部署,则根据说明修改 `visual-deploy.properties` 文件中的配置; - **一键部署**方式时,修改 `common.properties` 配置文件 + ```shell # WeBASE子系统的最新版本(v1.1.0或以上版本) webase.web.version=v1.4.0 @@ -180,9 +181,11 @@ fisco.version=2.4.1 node.counts=nodeCounts ``` + - **可视化方式**时,修改 `visual-deploy.properties` 文件。 + ```eval_rst .. important:: 注意: `sign.ip` 配置的 IP 是WeBASE-Sign签名服务对外提供服务访问的 IP 地址,供其他部署节点主机访问。 @@ -244,7 +247,7 @@ mgr.ssh.rootDirOnHost=/opt/fisco | 部署方式 | 参数 | 说明 | |---|---|---| | 一键部署 | installAll | 部署 WeBASE 中间件服务,包括底层节点 | -| 可视化部署 | installWeBASE | 部署 WeBASE 中间件服务,
然后通过**界面操作的方式部署底层节点**,参考文档 [可视化部署](#../WeBASE-Install/visual_deploy.html) | +| 可视化部署 | installWeBASE | 部署 WeBASE 中间件服务,
然后通过**界面操作的方式部署底层节点**,参考文档 [可视化部署](../WeBASE-Install/visual_deploy.html) | 根据上文已选择的部署方式完成配置文件的修改后,执行下面对应的部署、停止、启动命令即可