| @@ -52,38 +52,48 @@ JD Chain 主要部署组件包括以下几种: | |||
|  | |||
| ## 三、编译源代码 | |||
| ## 三、构建源代码 | |||
| 1. 安装 Maven 环境 | |||
| 1. 安装 Maven 环境 | |||
| JD Chain 当前版本以 Java 语言开发,需要安装配置 JVM 和 Maven,JDK 版本不低于1.8 。(没有特殊要求,请按标准方法安装,此处不赘述) | |||
| 2. 安装 Git 工具 | |||
| 2. 安装 Git 工具 | |||
| 为了能够执行 git clone 命令获取代码仓库。 (没有特殊要求,请按标准方法安装,此处不赘述) | |||
| 3. 工程代码 | |||
| 3. 项目库说明 | |||
| JD Chain 源代码包括 3 个代码仓库 | |||
| - jdchain 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain.git | |||
| - 说明:主项目库,包含说明文档、示例代码,用于集成构建和打包; | |||
| #### `主项目库包含以下 6 个子模块仓库,通过执行脚本 <主项目库根目录>/build/build.sh 便可以一键完成子模块的下载和整体的编译、测试和打包操作.` | |||
| - project 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain-project.git | |||
| - 说明:公共的父项目,定义公共的依赖; | |||
| - framework 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain-framework.git | |||
| - 说明:框架源码库,定义公共数据类型、框架、模块组件接口、SDK、SPI、工具; | |||
| - core 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain-core.git | |||
| - 说明:模块组件实现的源码库; | |||
| - explorer 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain-project.git | |||
| - 说明:相关产品的前端模块的源码库; | |||
| - libs/bft-smart 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/bftsmart.git | |||
| - 说明:BFT-SMaRT 共识算法的源码库; | |||
| - test 项目库: | |||
| - URL:git@github.com:blockchain-jd-com/jdchain-test.git | |||
| - 说明:集成测试用例的源码库; | |||
| 4. 构建操作 | |||
| JD Chain 源代码包括 3 个代码仓库 | |||
| - jdchain | |||
| - 这是当前仓库,也是核心仓库,包含了共识节点、网关节点、SDK等一切部署组件。依赖于 explorer 和 bftsmart 这两个仓库先进行编译安装; | |||
| `当前最新的工程结构已经把 explorer 和 bftsmart 这两个仓库作为子模块加入到当前仓库,通过执行脚本 <仓库根目录>/build/build.sh 便可以一键完成全部的构建操作.` | |||
| - explorer | |||
| - 这是区块链浏览器的前端Web页面的工程,需要编译成静态资源包,由网关节点集成到一起部署。 | |||
| - 地址:git@github.com:blockchain-jd-com/explorer.git | |||
| - bftsmart | |||
| - 这是bftsmart共识协议的工程,需要先编译安装到本地 maven 仓库; | |||
| 4. 命令操作 | |||
| - 编译 jdchain 工程; | |||
| - 当编译完成后,共识节点的安装包位于 "仓库根目录"/source/deployment/deployment-peer/target/jdchain-peer-1.0.1.RELEASE.zip | |||
| - 当编译完成后,网关节点的安装包位于 "仓库根目录"/source/deployment/deployment-gateway/target/jdchain-gateway-1.0.1.RELEASE.zip | |||
| ```sh | |||
| $ git clone git@github.com:blockchain-jd-com/jdchain.git jdchain | |||
| @@ -100,10 +110,19 @@ $ chmod +x build/*.sh | |||
| # 不附带此参数的情况下不会更新子模块仓库。 | |||
| $ build/build.sh --update | |||
| # 跳过集成测试 | |||
| # 跳过集成测试,直接编译和打包; | |||
| $ build/build.sh --skipTests | |||
| # 只执行集成测试; | |||
| $ build/test.sh | |||
| ``` | |||
| 5. jdchain 的安装包 | |||
| 当编译完成后,安装包位于主项目库的 deploy 目录中: | |||
| - 共识节点的安装包: | |||
| - <主项目库根目录>/deploy/deploy-peer/target/jdchain-peer-**.zip | |||
| - 网关节点的安装包: | |||
| - <主项目库根目录>/deploy/deploy-gateway/target/jdchain-gateway-**.zip | |||