1. Server 部署说明

1.1 环境要求

Server 的环境要求与 WeIdentity-Java-SDK 的 环境要求 类似,但它不需要 fisco-solc 编译环境:

物料版本说明
CentOS/Ubuntu7.2 / 16.04,64位部署 RestServer 用
JDK1.8+推荐使用 1.8u141 及以上
FISCO-BCOS 节点1.3.8(即中央仓库的1.2.5)或 2.x确保它可以和部署 Server 机器互相连通,可 telnet 其 channelPort 端口
Gradle4.6+同时支持 4.x 和 5.x 版本的 Gradle

1.2 生成安装包

您可以从 GitHub下载 RestService 的源代码,并进行编译以生成安装包(默认置于 /dist 目录下):

  1. $ git clone https://github.com/WeBankFinTech/weid-http-service.git
  2. $ cd weid-http-service
  3. $ gradle build -x test
  4. $ cd dist

如果您没有外网连接,也可以从 金链盟CDN下载 WeIdentity RestService 的离线安装包并拷贝进 Server。下载完成后,执行如下命令将 http-service-dist.zip 解压:

  1. $ unzip http-service-dist.zip

两种方式均可以生成如下结构的安装包:

  1. └─ dist
  2. ├─ app: 启动jar
  3. ├─ lib: 依赖库
  4. ├─ conf: 配置文件
  5. ├─ keys/priv: 托管私钥
  6. ├─ server_status.sh:监控系统运行状态
  7. ├─ start.sh:启动RestServer
  8. └─ stop.sh:停止RestServer

1.3 修改配置文件

  • 首先,确认 WeIdentity 合约已部署完毕,同时您所部署的 FISCO-BCOS 节点可以正常连通。目前支持 1.3.x 及 2.x 的 FISCO-BCOS 节点。
  • 修改合约地址。如果您使用部署工具部署了 WeIdentity 合约,那么只需将部署工具生成的 fisco.propertiesweidentity.properties 拷贝到 dist/conf 目录下即可。如果您使用源码部署,请手动修改 dist/conf/fisco.properties.tpldist/conf/weidentity.properties.tpl ,更新合约地址及区块链节点信息;修改完成后,将两个文件的子扩展名 .tpl 去掉。详情:合约地址修改示例:更新 dist/conf/fisco.properties 下列属性中weId、cpt、issuer、evidence合约地址的值。
  1. weId.contractaddress=0xedfe29997c7783d618510f2da6510010ad5253f4
  2. cpt.contractaddress=0x8984cab94b7c3add9c56e6c21d4329e0020d73ad
  3. issuer.contractaddress=0xb5346fd29ac75e7bb682c548f2951b6f8bf7d754
  4. evidence.contractaddress=0xddddd42da68a40784f5f63ada7ead9b36a38d2e3
  5. specificissuer.contractaddress=0x215d5c4b8867ce9f52d1a599c9dfef190201c263

区块链节点信息修改示例:更新 dist/conf/weidentity.properties.tplnodes 项的值,注意每一条信息都应包含区块链用户、节点IP、节点channel端口地址;多于一个区块链节点,请用 “,” 半角逗号分隔。

  1. nodes=WeIdentity@127.0.0.1:8812,WeIdentity@127.0.0.1:8900
  • 拷贝您 WeIdentity 合约部署者的私钥到 keys/priv 目录下,并重命名为 ecdsa_key。如果您使用部署工具部署了 WeIdentity 合约,这个文件在 output/admin/ 目录。如果您使用源码部署,这个文件在源代码根目录下。
  • 修改 dist/conf/application.properties ,填入需要打开的监听端口地址(用于 RestServer 监听外来的 HTTP/HTTPS RESTful 请求,默认为 6000/6001,不可被其他程序占用)。同时,请确认用来调用默认合约部署者私钥的暗语;由于此暗语可直接调用 WeIdentity 合约部署者的私钥,权限较高(详见 RestService API 说明文档),因此请您务必对其进行修改。
  1. # HTTPS请求端口
  2. server.port=6001
  3. # HTTP请求端口
  4. server.http.port=6000
  5. # 合约部署者私钥暗语
  6. default.passphrase=ecdsa_key