Agregación de organizaciones de Fabric a la red

En este tema se incluye información sobre cómo unir organizaciones de Hyperledger Fabric a una red de Oracle Blockchain Platform.

Flujo de trabajo típico para unir una organización de Fabric a una red de Oracle Blockchain Platform

Estas son las tareas que una organización de Fabric y la organización fundadora de Oracle Blockchain Platform deben realizar para unirse a una organización de Fabric en la red de Oracle Blockchain Platform.

Tarea ¿Quién hace esto? Descripción Más información
Crear el archivo de certificado para la organización de Fabric Organización de Fabric Busque la información del certificado de administración, CA y TLS de la organización de Fabric y utilícela para componer un archivo de certificados JSON. Creación de un archivo de certificados de organización de Fabric
Cargar el archivo de certificado de la organización Fabric en la red de Oracle Blockchain Platform Organización fundadora Use la consola para cargar e importar el archivo de certificado de la organización de Fabric para agregar la organización de Fabric a la red. Importación de certificados para agregar organizaciones a la red
Crear canal Organización fundadora Cree un nuevo canal y agregue la organización de Fabric. Crear canal
Exportar la configuración del servicio de pedidos del fundador Organización fundadora Haga que la configuración de los servicios de pedidos del fundador sea un archivo JSON y envíe el archivo a la organización de Fabric. Únase al participante o a las OSN escaladas al servicio de pedidos del fundador
Redactar archivo de certificado de solicitante Organización de Fabric Cree un archivo denominado orderer.pem que incluya la información de tlscacert.

Vaya al archivo de configuración del servicio de pedidos exportado y copie la información de tlscacert. Después de pegar la información de tlscacert en el archivo orderer.pem, debe sustituir todas las instancias de \n por el carácter de nueva línea.

El archivo orderer.pem debe tener el siguiente formato:

-----BEGIN CERTIFICATE-----
... 
...
... 
-----END CERTIFICATE-----
Creación de un archivo de certificados de organización de Fabric
Proporcionar configuración de servicio de orden Organización fundadora Abra el archivo de configuración del servicio de orden, busque la dirección y el puerto del servicio de orden y proporciónelos a la organización de Fabric. Por ejemplo:
"orderingServiceNodes": [
{
"address": "grpcs://example_address:7777",
...
}]
NA
Agregar la organización de Fabric a la red Organización de Fabric La organización Fabric copia certificados en su entorno, establece variables de entorno, recupera el bloque de génesis, se une al canal e instala el código de cadenas. Preparación del entorno de Fabric para utilizar la red de Oracle Blockchain Platform

Creación de un archivo de certificados de organización de Fabric

Para que una organización de Fabric se una a una red de Oracle Blockchain Platform, debe escribir un archivo de certificados que contenga la información de administradores, cacerts y tlscacerts. La organización fundadora de Oracle Blockchain Platform importa este archivo para agregar la organización de Fabric a la red.

La información de los certificados de Fabric se almacena en archivos PEM ubicados en la carpeta de MSP de la organización de Fabric. Por ejemplo, network_name_example/crypto-config/peerOrganizations/example_org.com/msp/.

El archivo de certificados debe estar escrito en JSON y debe contener los siguientes campos. Para todos los certificados, al copiar la información del certificado en el archivo JSON, debe sustituir cada línea nueva por \n, de modo que la información esté en una línea sin espacios, como se muestra en el siguiente ejemplo.

  • mspid: especifica el nombre de la organización de Fabric.

  • type: indica que la organización es un participante de red. Este valor debe ser Participante.
  • admincert: contiene el contenido del archivo de certificados de administración de la organización: Admin@example_org.com-cert.pem.

  • cacert: contiene el contenido del archivo de certificados de CA de la organización: ca.example_org-cert.pem.

  • tlscacert: contiene el contenido del archivo de certificado TLS de la organización: tlsca.example_org-cert.pem.

  • intermediatecerts: este elemento opcional contiene el contenido de un archivo de certificados de CA intermedio. No especifique este elemento a menos que haya un archivo de certificados de CA intermedio.
  • nodeouidentifiercert: esta sección contiene certificados que identifican roles de OU de nodo.
  • adminouidentifiercert: contiene el contenido del archivo de certificado de la organización que se utiliza para identificar los roles de administrador de OU del nodo. Si no necesita el rol de administrador, puede utilizar el contenido del archivo cacert o el contenido del archivo de certificado intermedio como contenido del administrador.

  • clientouidentifiercert: contiene el contenido del archivo de certificado de la organización que se utiliza para identificar los roles de cliente de OU del nodo.

  • ordererouidentifiercert: contiene el contenido del archivo de certificado de la organización que se utiliza para identificar roles de ordenador de OU de nodo. Si no necesita el rol de ordenante, puede utilizar el contenido del archivo cacert o el contenido del archivo de certificado intermedio como contenido del identificador de ordenante.

  • peerouidentifiercert: contiene el contenido del archivo de certificado de la organización utilizado para identificar roles de peer de OU de nodo.

Estructura el archivo de forma similar al siguiente ejemplo:
{
  "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"
    }
  }
} 
    

Preparación del entorno de Fabric para utilizar la red de Oracle Blockchain Platform

Debe modificar el entorno de la organización de Fabric para que pueda utilizar la red de Oracle Blockchain Platform.

Confirme que se hayan completado las siguientes tareas previas necesarias. Para obtener más información, consulte Flujo de trabajo típico para unir una organización de Fabric a una red de Oracle Blockchain Platform.

  • El archivo de certificado de la organización Fabric se creó y envió al fundador de la red de Oracle Blockchain Platform.

  • El fundador de la red cargó el archivo de certificados para agregar la organización de Fabric a la red.

  • El fundador de la red creó un nuevo canal y le agregó la organización de Fabric.

  • El fundador de la red descargó la configuración del servicio de orden y la envió a la organización de Fabric.

  • La organización de Fabric creó el archivo de certificado del ordenante.

  • El fundador de la red proporcionó la dirección y el puerto del servicio de orden a la organización de Fabric.

Debe agregar la organización de Fabric e instalar y probar el código de cadenas.

  1. Navegue hasta el directorio de red de Fabric e inicie el contenedor par.

  2. Recupere el bloque de génesis del canal con este comando:

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

    Dónde:

    • {orderer_addr} es la dirección de pedido del fundador.

    • {orderer_port} es el número de puerto del fundador.

    • -c mychannel es el nombre del canal que ha creado el fundador. Este es el canal donde la organización de Fabric enviará y recibirá transacciones en la red de Oracle Blockchain Platform.

    • orderer.pem es el archivo de certificado del solicitante del fundador.

  3. Unirse al canal con este comando:

    peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
  4. Instale el código de cadena con este comando:

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

    Donde CC_SRC_PATH es la carpeta que contiene el código de cadenas.

  5. Cree una instancia del código de cadena con este comando:

    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. Llame al código de cadenas con este comando:

    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. Consulte el código de cadenas con este comando:

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