跳转至

数据结构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。

  1. 如果是直接下载,需要配置环境变量

  2. 如果是在ide中,下载后,指定相应版本jdk即可

2. Maven项目构建管理工具 (必须)

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,是一个自动化构建工具。

自动化构建工具:将原材料(java、js、css、html....)->产品(可发布项目)

编译-打包-部署-测试 -> 自动构建可从官网下载并配置相关信息。

注意

  • 需要将Maven的配置到系统的环境变量中,以方便在终端中使用maven命令。
  • 需要将同一个Maven地址配置到使用的编译器中,防止项目构建时出现其他问题。

在环境工具准备完成之后,在项目根目录下,打开终端,执行如下命令(或者是用IDEA中对应的maven插件执行相应命令),将模块打包为jar包并安装到本地maven仓库,之后别的依赖DataType的跨链模块就可以引用该jar包了。

mvn clear
mvn compile
mvn install

构建完成并安装到本地库后,其他跨链模块即可通过如下方式引用:

// maven
<dependency>
    <groupId>net.repchain</groupId>
    <artifactId>repchain-cross-datatype</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
// gradle
implementation 'net.repchain:repchain-cross-datatype:1.0-SNAPSHOT'
// sbt
libraryDependencies += "net.repchain" % "repchain-cross-datatype" % "1.0-SNAPSHOT"

回到页面顶部