Hyperledger Fabric Gateway Java 项目教程
1. 项目的目录结构及介绍
Hyperledger Fabric Gateway Java 项目的目录结构如下:
fabric-gateway-java/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── org/
│ │ │ │ ├── hyperledger/
│ │ │ │ │ ├── fabric/
│ │ │ │ │ │ ├── gateway/
│ │ │ │ │ │ │ ├── Gateway.java
│ │ │ │ │ │ │ ├── Network.java
│ │ │ │ │ │ │ ├── Contract.java
│ │ │ │ │ │ │ └── ...
│ │ │ │ │ │ └── ...
│ │ │ │ │ └── ...
│ │ │ │ └── ...
│ │ │ └── ...
│ │ └── resources/
│ │ └── ...
│ └── test/
│ ├── java/
│ │ ├── org/
│ │ │ ├── hyperledger/
│ │ │ │ ├── fabric/
│ │ │ │ │ ├── gateway/
│ │ │ │ │ │ ├── GatewayTest.java
│ │ │ │ │ │ └── ...
│ │ │ │ │ └── ...
│ │ │ │ └── ...
│ │ │ └── ...
│ │ └── ...
│ └── resources/
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
└── ...
目录结构介绍
src/main/java/org/hyperledger/fabric/gateway/
:包含项目的主要代码文件,如Gateway.java
、Network.java
和Contract.java
等。src/test/java/org/hyperledger/fabric/gateway/
:包含项目的测试代码文件,如GatewayTest.java
等。pom.xml
:Maven 项目的配置文件,定义了项目的依赖、构建和部署等信息。README.md
:项目的说明文档,包含项目的基本介绍、使用方法和示例等。
2. 项目的启动文件介绍
在 Hyperledger Fabric Gateway Java 项目中,主要的启动文件是 Gateway.java
。
Gateway.java
Gateway.java
是项目的核心文件,负责创建和管理与 Hyperledger Fabric 网络的连接。以下是 Gateway.java
的主要功能:
- 创建 Gateway 实例:通过配置文件或代码配置创建
Gateway
实例。 - 连接到 Fabric 网络:使用
Gateway
实例连接到 Hyperledger Fabric 网络。 - 获取 Network 实例:通过
Gateway
实例获取Network
实例,进而获取Contract
实例。
示例代码:
import org.hyperledger.fabric.gateway.Gateway;
import org.hyperledger.fabric.gateway.Network;
import org.hyperledger.fabric.gateway.Contract;
public class App {
public static void main(String[] args) {
// 创建 Gateway 实例
Gateway gateway = Gateway.createBuilder()
.identity("path/to/identity.pem")
.networkConfig("path/to/network-config.yaml")
.build();
// 连接到 Fabric 网络
Network network = gateway.getNetwork("mychannel");
// 获取 Contract 实例
Contract contract = network.getContract("mycc");
// 调用合约方法
byte[] result = contract.submitTransaction("myFunction", "arg1", "arg2");
System.out.println(new String(result));
}
}
3. 项目的配置文件介绍
在 Hyperledger Fabric Gateway Java 项目中,主要的配置文件是 network-config.yaml
。
network-config.yaml
network-config.yaml
文件定义了连接到 Hyperledger Fabric 网络所需的配置信息,包括网络的节点、组织、通道和合约等。
示例配置: