将网状结构网络组织添加到网络

本主题包含有关将超级账本架构组织加入 Oracle Blockchain Platform 网络的信息。

将网状结构网络组织加入 Oracle Blockchain Platform 网络的典型工作流

Fabric 组织和 Oracle Blockchain Platform 创始人组织必须完成以下任务才能将 Fabric 组织加入 Oracle Blockchain Platform 网络。

任务 这是谁? 说明 更多信息
为 Fabric 组织创建证书文件 Fabric 组织 查找 Fabric 组织的 Admin、CA 和 TLS 证书信息,并使用该信息编写 JSON 证书文件。 创建 Fabric 组织的证书文件
将 Fabric 组织的证书文件上载到 Oracle Blockchain Platform 网络 创始人组织 使用控制台上载和导入 Fabric 组织的证书文件,以将 Fabric 组织添加到网络。 导入证书以将组织添加到网络
创建渠道 创始人组织 创建通道并将 Fabric 组织添加到该通道中。 创建渠道
从创建者导出订购服务设置 创始人组织 将创始人的排序服务设置写入 JSON 文件并将文件发送到 Fabric 组织。 加入参与者或扩展 OSN 以获得创始人的订购服务
编写 orderer 证书文件 Fabric 组织 创建一个名为 orderer.pem 的文件,其中包含 tlscacert 信息。

转到导出的订购服务设置文件并复制 tlscacert 信息。将 tlscacert 信息粘贴到 orderer.pem 文件中后,必须将 \n 的所有实例替换为换行符。

orderer.pem 文件必须具有以下格式:

-----BEGIN CERTIFICATE-----
... 
...
... 
-----END CERTIFICATE-----
创建 Fabric 组织的证书文件
提供排序服务设置 创始人组织 打开排序服务设置文件并查找排序服务的地址和端口,并将其提供给 Fabric 组织,如以下示例所示:
"orderingServiceNodes": [
{
"address": "grpcs://example_address:7443",
...
}]
NA
将 Fabric 组织添加到网络 Fabric 组织 Fabric 组织将证书复制到其环境中,设置环境变量,提取 Genesis 块,加入通道,并安装链代码。 准备 Fabric 环境以使用 Oracle Blockchain Platform 网络

创建 Fabric 组织的证书文件

要使网状结构网络组织加入 Oracle Blockchain Platform 网络,它必须写入包含其管理员、cacerts 和 tlscacerts 信息的证书文件。Oracle Blockchain Platform 创始人组织导入此文件以将 Fabric 组织添加到网络。

Fabric 证书信息存储在 Fabric 组织的 MSP 文件夹中的 PEM 文件中。例如,network_name_example/crypto-config/peerOrganizations/example_org.com/msp/

证书文件必须以 JSON 格式写入,并且必须包含以下字段。对于所有证书,将证书信息复制到 JSON 文件时,必须将每个新行替换为 \n ,以便所有信息都在一行中,不带空格,如以下示例中所示。

  • mspid - 指定网状结构网络组织的名称。

  • type - 指示组织是网络参与者。此值必须为参与者
  • admincert - 包含组织的 Admin 证书文件的内容:Admin@example_org.com-cert.pem

  • cacert - 包含组织的 CA 证书文件的内容:ca.example_org-cert.pem

  • tlscacert - 包含组织的 TLS 证书文件的内容:tlsca.example_org-cert.pem

  • intermediatecerts - 此可选元素包含中间 CA 证书文件的内容。除非存在中间 CA 证书文件,否则不要指定此元素。
  • nodeouidentifiercert - 本节包含用于标识节点 OU 角色的证书。
  • adminouidentifiercert - 包含用于标识节点 OU 管理员角色的组织证书文件的内容。如果不需要 admin 角色,可以使用 cacert 文件内容或中间证书文件内容作为 adminouidentifier 内容。

  • clientouidentifiercert - 包含用于标识节点 OU 客户机角色的组织证书文件的内容。

  • ordererouidentifiercert - 包含用于标识节点 OU 排序器角色的组织证书文件的内容。如果不需要 orderer 角色,则可以使用 cacert 文件内容或中间证书文件内容作为 ordererouidentifier 内容。

  • peerouidentifiercert - 包含组织用于标识节点 OU 对等节点角色的证书文件的内容。

构造类似于以下示例的文件:
{
  "mspID": "examplemspID",
  "type":  "Participant",
  "certs": { 
   "admincert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
   "cacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
   "tlscacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
   "nodeouidentifiercert": {
      "adminouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "clientouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "ordererouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "peerouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
    }
  }
} 
    

准备 Fabric 环境以使用 Oracle Blockchain Platform 网络

您必须先修改 Fabric 组织的环境,然后才能使用 Oracle Blockchain Platform 网络。

确认以下先决条件任务已完成。有关更多信息,请参见 Typical Workflow to Join a Fabric Organization to an Oracle Blockchain Platform Network

  • Fabric 组织的证书文件已创建并发送给 Oracle Blockchain Platform 网络创始人。

  • 网络创建者上载了证书文件以将 Fabric 组织添加到网络。

  • 网络创建者创建了一个新通道并将 Fabric 组织添加到该通道中。

  • 网络创建者下载了其订购服务设置并将其发送到 Fabric 组织。

  • Fabric 组织创建了 orderer 证书文件。

  • 网络创建者将订购服务地址和端口提供给 Fabric 组织。

必须添加 Fabric 组织并安装和测试链代码。

  1. 导航到 Fabric 网络目录并启动对等容器。

  2. 使用以下命令提取通道的 genesis block:

    peer channel fetch 0 mychannel.block -o ${orderer_addr}:${orderer_port} -c mychannel --tls --cafile orderer.pem --logging-level debug  

    其中:

    • {orderer_addr} 是创始人的排序人地址。

    • {orderer_port} 是创始人的端口号。

    • -c mychannel 是创建者创建的通道的名称。这是 Fabric 组织在 Oracle Blockchain Platform 网络上发送和接收交易的渠道。

    • orderer.pem 是创始人的排序者证书文件。

  3. 使用以下命令加入通道:

    peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
  4. 使用以下命令安装链代码:

    peer chaincode install -n mycc -v 1.0 -l "golang" -p ${CC_SRC_PATH}

    其中 CC_SRC_PATH 是包含链代码的文件夹。

  5. 使用此命令实例化链代码:

    peer chaincode instantiate -o  ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P <policy_string> --logging-level debug
  6. 使用以下命令调用链代码:

    peer chaincode invoke -o ${orderer_addr}:${orderer_port}  --tls true --cafile orderer.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' --logging-level debug
  7. 使用以下命令查询链代码:

    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'  --logging-level debug