一、Fabric SDK配置
Fabric区块链网络应用程序需要大量的参数,用于连接Fabric区块链网络。通常将Fabric区块链网络应用程序所需的参数放到一个配置文件进行管理,配置文件定义Fabric SDK Go的配置和用户自定义参数,指定了连接Fabric区块链网络所需的全部信息,例如Fabric区块链网络组件的主机名和端口等。Fabric SDK GO为应用程序提供的配置文件通常使用yaml文件格式编写,并命名为config.yaml,配置文件会在应用程序代码中被读取。
Fabric SDK Go版本提供了config.yaml模板,开发者可以参考
fabric-sdk-go/pkg/core/config/testdata/template/config.yaml,也可以根据fabric-sdk-go/test/fixtures/config/config_e2e.yaml实例进行改写。
二、version定义
version用于定义config.yaml文件内容的版本,Fabric SDK Go会使用version匹配相应的解析规则。version: 1.0.0
三、channels定义
channels部分描述已经存在的通道信息,每个通道包含哪些orderer、peer 。
peer部分可以定义peer节点的角色属性,角色如下:
endorsingPeer:可选。peer节点节点必须安装链码。peer节点是否会被发送交易提案进行背书。应用程序也可以使用本属性来决定发送链码安装请求到哪个peer节点。默认值:true。
chaincodeQuery:可选。peer节点必须安装链码。peer节点是否会被发送交易提案只进行查询。应用程序还可以使用本属性来决定发送链码安装的请求到哪个peer节点。默认值:true。
ledgerQuery:可选。是否可以向peer节点发送不会进行链码查询的提案,如queryBlock(),queryTransaction()等。默认值:true。
eventSource:可选。peer节点是否为SDK事件监听器注册的目标,所有的peer节点都可以生产事件,但通常只需要连接一个对事件进行监听。默认值:true。
1 | # 如果应用程序创建了通道,不需要本部分 |
四、organizations定义
organizations描述peer节点所属的组织(org),证书颁发机构,以及组织的MSP ID。
1 | # Fabric区块链网络中参与的组织列表 |
五、orderers定义
orderers必须指定要连接的Hyperledger Fabric区块链网络中所有orderder节点的主机名和端口。orderers对象可以包含多个orderder节点。
1 | # 发送交易请求或通道创建、更新请求到的orderers列表 |
六、peers定义
peers必须指定Hyperledger Fabric区块链网络中所有peer节点的主机名和端口,可能会在其它地方引用,如channels,organizations等部分。
1 | # peers节点列表 |
七、certificateAuthorities定义
certificateAuthorities必须在Hyperledger Fabric区块链网络中指定证书颁发机构(CA)的主机名和端口,以便用于注册现有用户和注册新用户。
1 | # Fabric-CA是Hyperledger Fabric提供了特殊的证书颁发机构,可以通过REST API管理证书。 |
八、client
client部分必需定义,客户端应用程序代表谁来和Fabric区块链网络来交互,可以定义超时选项。
1 | #客户端定义 |
九、config.yaml示例
资产交易平台应用的配置文件如下:
1 | # Copyright SecureKey Technologies Inc. All Rights Reserved. |