Adicionar Organizações do Fabric à Rede

Este tópico contém informações sobre como unir organizações do Hyperledger Fabric a uma rede do Oracle Blockchain Platform.

Workflow Típico para Unir uma Organização do Fabric a uma Rede do Oracle Blockchain Platform

Aqui estão as tarefas que uma organização do Fabric e a organização fundadora do Oracle Blockchain Platform precisam executar para ingressar em uma organização do Fabric na rede do Oracle Blockchain Platform.

Tarefa Quem faz isso? Descrição Mais informações
Criar o arquivo de certificado para a organização do Fabric Organização do Fabric Localize as informações de certificado Admin, CA e TLS da organização Fabric e use-as para compor um arquivo de certificados JSON. Criar um Arquivo de Certificados da Organização do Fabric
Fazer upload do arquivo de certificado da organização do Fabric para a rede do Oracle Blockchain Platform Organização fundadora Use o console para fazer upload e importar o arquivo de certificado da organização do Fabric para adicionar a organização do Fabric à rede. Importar Certificados para Adicionar Organizações à Rede
Criar um canal Organização fundadora Crie um novo canal e adicione a organização do Fabric a ele. Criar um Canal
Exportar as configurações do serviço de pedido do fundador Organização fundadora Envie as configurações de serviços de pedido do fundador para um arquivo JSON e envie o arquivo para a organização do Fabric. Junte-se aos OSNs Participantes ou Escalonados ao Serviço de Pedidos do Fundador
Criar arquivo de certificado do solicitante Organização do Fabric Crie um arquivo chamado orderer.pem que inclua as informações de tlscacert.

Vá para o arquivo de configurações de serviço de pedido exportado e copie as informações de tlscacert. Depois de colar as informações de tlscacert no arquivo orderer.pem, substitua todas as instâncias de \n pelo caractere de nova linha.

O arquivo orderer.pem deve ter o seguinte formato:

-----BEGIN CERTIFICATE-----
... 
...
... 
-----END CERTIFICATE-----
Criar um Arquivo de Certificados da Organização do Fabric
Fornecer configurações de serviço de pedido Organização fundadora Abra o arquivo de configurações do serviço de pedido e localize o endereço e a porta do serviço de pedido e entregue-os à organização do Fabric. Por exemplo:
"orderingServiceNodes": [
{
"address": "grpcs://example_address:7777",
...
}]
NA
Adicionar a organização do Fabric à rede Organização do Fabric A organização do Fabric copia certificados em seu ambiente, define variáveis de ambiente, extrai o bloco de gênese, une o canal e instala o chaincode. Preparar o Ambiente do Fabric para Usar a Rede do Oracle Blockchain Platform

Criar um Arquivo de Certificados da Organização do Fabric

Para que uma organização do Fabric entre em uma rede do Oracle Blockchain Platform, ela deve gravar um arquivo de certificados contendo suas informações de admincerts, cacerts e tlscacerts. A organização fundadora do Oracle Blockchain Platform importa esse arquivo para adicionar a organização do Fabric à rede.

As informações dos certificados do Fabric são armazenadas em arquivos PEM localizados na pasta MSP da organização do Fabric. Por exemplo, network_name_example/crypto-config/peerOrganizations/example_org.com/msp/.

O arquivo de certificados deve estar escrito em JSON e deve conter os campos a seguir. Para todos os certificados, ao copiar as informações do certificado para o arquivo JSON, você deve substituir cada nova linha por \n, para que as informações estejam todas em uma linha sem espaços, conforme mostrado no exemplo a seguir.

  • mspid - Especifica o nome da organização do Fabric.

  • tipo - Indica que a organização é um participante da rede. Esse valor deve ser Participante.
  • admincert - Contém o conteúdo do arquivo de certificados administrativos da organização: Admin@example_org.com-cert.pem.

  • cacert - Contém o conteúdo do arquivo de certificados CA da organização: ca.example_org-cert.pem.

  • tlscacert - Contém o conteúdo do arquivo de certificado TLS da organização: tlsca.example_org-cert.pem.

  • intermediatecerts- Este elemento opcional contém o conteúdo de um arquivo de certificados CA intermediários. Não especifique este elemento, a menos que haja um arquivo de certificados CA intermediário.
  • nodeouidentifiercert- Esta seção contém certificados que identificam atribuições da OU do Nó.
  • adminouidentifiercert- Contém o conteúdo do arquivo de certificado da organização que é usado para identificar funções administrativas da OU do Nó. Se você não precisar da função de administrador, poderá usar o conteúdo do arquivo cacert ou o conteúdo do arquivo de certificado intermediário como o conteúdo do adminouidentifier.

  • clientouidentifiercert- Contém o conteúdo do arquivo de certificado da organização que é usado para identificar funções de cliente da OU do Nó.

  • ordererouidentifiercert- Contém o conteúdo do arquivo de certificado da organização que é usado para identificar as funções do solicitante da OU do Nó. Se você não precisar da função de solicitante, poderá usar o conteúdo do arquivo cacert ou o conteúdo do arquivo de certificado intermediário como o conteúdo do solicitante.

  • peerouidentifiercert- Contém o conteúdo do arquivo de certificado da organização usado para identificar funções de pares da OU do Nó.

Estruture o arquivo de forma semelhante ao seguinte exemplo:
{
  "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"
    }
  }
} 
    

Preparar o Ambiente do Fabric para Usar a Rede do Oracle Blockchain Platform

Modifique o ambiente da organização do Fabric para que ele possa usar a rede do Oracle Blockchain Platform.

Confirme se as tarefas de pré-requisito a seguir foram concluídas. Para obter mais informações, consulte Workflow Típico para Unir uma Organização do Fabric a uma Rede do Oracle Blockchain Platform.

  • O arquivo de certificado da organização do Fabric foi criado e enviado ao fundador da rede do Oracle Blockchain Platform.

  • O fundador da rede fez upload do arquivo de certificados para adicionar a organização do Fabric à rede.

  • O fundador da rede criou um novo canal e adicionou a organização Fabric a ele.

  • O fundador da rede baixou suas configurações de serviço de pedido e as enviou para a organização Fabric.

  • A organização do Fabric criou o arquivo de certificado do solicitante.

  • O fundador da rede deu o endereço e a porta do serviço de pedido à organização Fabric.

Você deve adicionar a organização do Fabric e instalar e testar o chaincode.

  1. Navegue até o diretório de rede do Fabric e inicie o contêiner de mesmo nível.

  2. Extraia o bloco de gênese do canal com este comando:

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

    Onde:

    • {orderer_addr} é o endereço do solicitante do Fundador.

    • {orderer_port} é o número da porta do Fundador.

    • -c mychannel é o nome do canal que o Fundador criou. Este é o canal no qual a organização do Fabric enviará e receberá transações na rede do Oracle Blockchain Platform.

    • orderer.pem é o arquivo de certificado do solicitante do Fundador.

  3. Junte-se ao canal com este comando:

    peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
  4. Instale o chaincode com este comando:

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

    Em que CC_SRC_PATH é a pasta que contém o chaincode.

  5. Instancie o chaincode com 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. Chame o chaincode com 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 o chaincode com este comando:

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