数据结构DataType
公共数据结构DataType
本模块主要是为了方便管理跨链数据结构,因此抽取定义了跨链服务中所需的一些数据结构,在SyncInfo、Storage、GateWay这三个模块中都有应用到。
数据结构简要介绍
└── rep
└── cross
├── adapter
│ └── model
│ ├── AdapterInfo.java 该数据结构描述适配器信息
│ ├── AdapterType.java 定义了适配器类型,目前主要为RepChain、FiscoBcos-2.x、Fabric-2.x
│ ├── Block.java 抽象定义了区块数据结构,用来给同步解析模块请求使用
│ ├── ChainInfo.java 链信息(包含链高度等),用来给同步模块查询使用
│ └── Transaction.java 抽象定义了交易数据结构
└── api
└── model
├── ErrorCode.java 定义了接口错误码,供接口使用
├── ResultInfo.java 定义了接口返回,供接口使用
└── ResultInfoUtil.java 为了方便构造ResultInfo的工具类
构建需要准备的环境及工具
1. Java 1.8 (必须)
建议使用
zulu-jdk
(oracle-jdk也可),从官网直接下载,也可使用IDEA下载(File->Project Structure->SDKS,然后选择"+",选择Download JDK),选择Azul-zulu-community,jdk-8。
如果是直接下载,需要配置环境变量
如果是在ide中,下载后,指定相应版本jdk即可
2. Maven项目构建管理工具 (必须)
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,是一个自动化构建工具。
自动化构建工具:将原材料(java、js、css、html....)->产品(可发布项目)
编译-打包-部署-测试 -> 自动构建可从官网下载并配置相关信息。
注意
- 需要将Maven的配置到系统的环境变量中,以方便在终端中使用maven命令。
- 需要将同一个Maven地址配置到使用的编译器中,防止项目构建时出现其他问题。
在环境工具准备完成之后,在项目根目录下,打开终端,执行如下命令(或者是用IDEA中对应的maven插件执行相应命令),将模块打包为jar包并安装到本地maven仓库,之后别的依赖DataType的跨链模块就可以引用该jar包了。
构建完成并安装到本地库后,其他跨链模块即可通过如下方式引用: