Fabric-Organisationen zum Netzwerk hinzufügen

Dieses Thema enthält Informationen zum Verbinden von Hyperledger Fabric-Organisationen mit einem Oracle Blockchain Platform-Netzwerk.

Typischer Workflow für die Aufnahme einer Fabric-Organisation in ein Oracle Blockchain Platform-Netzwerk

Eine Fabric-Organisation und die Oracle Blockchain Platform-Gründerorganisation müssen die folgenden Aufgaben ausführen, um der Fabric-Organisation beim Oracle Blockchain Platform-Netzwerk beizutreten.

Aufgabe Wer macht das? Beschreibung Weitere Informationen
Zertifikatsdatei für die Fabric-Organisation erstellen Fabric-Organisation Suchen Sie die Admin-, CA- und TLS-Zertifikatsinformationen der Fabric-Organisation, und erstellen Sie damit eine JSON-Zertifikatsdatei. Zertifikatsdatei einer Fabric-Organisation erstellen
Laden Sie die Zertifikatsdatei der Fabric-Organisation in das Oracle Blockchain Platform-Netzwerk hoch Gründerorganisation Über die Konsole können Sie die Zertifikatsdatei der Fabric-Organisation hochladen und importieren, um die Fabric-Organisation dem Netzwerk hinzuzufügen. Zertifikate importieren, um Organisationen zum Netzwerk hinzuzufügen
Vertriebskanal erstellen Gründerorganisation Erstellen Sie einen Kanal, und fügen Sie ihm die Fabric-Organisation hinzu. Kanal erstellen
Einstellungen des Ordering-Service vom Gründer exportieren Gründerorganisation Die Bestellserviceeinstellungen des Gründers wurden in eine JSON-Datei geschrieben und an die Fabric-Organisation gesendet. Treten Sie den teilnehmenden oder skalierten OSNs beim Ordering Service des Gründers bei
Erstellen einer Zertifikatdatei für den Besteller Fabric-Organisation Erstellen Sie eine Datei mit dem Namen orderer.pem, die tlscacert-Informationen enthält.

Gehen Sie zur Einstellungsdatei für den exportierten Bestellservice, und kopieren Sie die tlscacert-Informationen. Nachdem Sie die tlscacert-Informationen in die Datei orderer.pem eingefügt haben, müssen Sie alle Instanzen von \n durch das Zeilenvorschubzeichen ersetzen.

Die Datei orderer.pem muss das folgende Format aufweisen:

-----BEGIN CERTIFICATE-----
... 
...
... 
-----END CERTIFICATE-----
Zertifikatsdatei einer Fabric-Organisation erstellen
Einstellungen für den Bestellservice angeben Gründerorganisation Öffnen Sie die Einstellungsdatei für den Bestellservice, suchen Sie die Adresse und den Port des Bestellservice, und geben Sie diese an die Fabric-Organisation weiter, wie im folgenden Beispiel dargestellt:
"orderingServiceNodes": [
{
"address": "grpcs://example_address:7443",
...
}]
-
Hinzufügen der Fabric-Organisation zum Netzwerk Fabric-Organisation Die Fabric-Organisation kopiert Zertifikate in ihre Umgebung, legt Umgebungsvariablen fest, ruft den Genesis-Block ab, verknüpft den Kanal und installiert den Chaincode. Fabric-Umgebung für die Verwendung des Oracle Blockchain Platform-Netzwerks vorbereiten

Zertifikatsdatei einer Fabric-Organisation erstellen

Damit eine Fabric-Organisation einem Oracle Blockchain Platform-Netzwerk beitreten kann, muss sie eine Zertifikatsdatei schreiben, die ihre Admincerts, Cacerts und tlscacerts-Informationen enthält. Die Oracle Blockchain Platform-Gründerorganisation importiert diese Datei, um die Fabric-Organisation zum Netzwerk hinzuzufügen.

Die Informationen zu Fabric-Zertifikaten werden in PEM-Dateien im MSP-Ordner der Fabric-Organisation gespeichert. Beispiel: network_name_example/crypto-config/peerOrganizations/example_org.com/msp/.

Die Zertifikatsdatei muss in JSON geschrieben sein und die folgenden Felder enthalten. Wenn Sie die Zertifikatinformationen für alle Zertifikate in die JSON-Datei kopieren, müssen Sie jede neue Zeile durch \n ersetzen, sodass sich alle Informationen in einer Zeile ohne Leerzeichen befinden (siehe folgendes Beispiel).

  • mspid – Gibt den Namen der Fabric-Organisation an.

  • Typ - Gibt an, dass die Organisation ein Netzwerkteilnehmer ist. Dieser Wert muss Teilnehmer sein.
  • admincert — Enthält den Inhalt der Admin-Zertifikatsdatei der Organisation: Admin@example_org.com-cert.pem.

  • cacert – Enthält den Inhalt der CA-Zertifikatsdatei der Organisation: ca.example_org-cert.pem.

  • tlscacert – Enthält den Inhalt der TLS-Zertifikatsdatei der Organisation: tlsca.example_org-cert.pem.

  • intermediatecerts – Dieses optionale Element enthält den Inhalt einer CA-Zwischenzertifikatsdatei. Geben Sie dieses Element nur an, wenn eine CA-Zwischenzertifikatsdatei vorhanden ist.
  • nodeouidentifiercert - Dieser Abschnitt enthält Zertifikate, die OU-Knotenrollen identifizieren.
  • adminouidentifiercert - Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der OU-Admin-Rollen für Knoten identifiziert werden. Wenn Sie die Admin-Rolle nicht benötigen, können Sie den Inhalt der cacert-Datei oder den Inhalt der Zwischenzertifikatsdatei als Adminouidentifier-Inhalt verwenden.

  • clientouidentifiercert – Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der Node OU-Clientrollen identifiziert werden.

  • ordererouidentifiercert - Enthält den Inhalt der Zertifikatsdatei der Organisation, mit der die OU-Auftraggeberrollen für Knoten identifiziert werden. Wenn Sie die Orderer-Rolle nicht benötigen, können Sie den Inhalt der cacert-Datei oder den Inhalt der Zwischenzertifikatdatei als Inhalt des Ordererouidentifiers verwenden.

  • peerouidentifiercert - Enthält den Inhalt der Zertifikatsdatei der Organisation, die zur Identifizierung von Peerrollen der Knoten-OC verwendet wird.

Strukturieren Sie die Datei ähnlich dem folgenden Beispiel:
{
  "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-Umgebung für das Oracle Blockchain Platform-Netzwerk vorbereiten

Sie müssen die Umgebung der Fabric-Organisation ändern, bevor sie das Oracle Blockchain Platform-Netzwerk verwenden kann.

Vergewissern Sie sich, dass die folgenden Voraussetzungsaufgaben abgeschlossen wurden. Weitere Informationen finden Sie unter Typischer Workflow zum Verbinden einer Fabric-Organisation mit einem Oracle Blockchain Platform-Netzwerk.

  • Die Zertifikatsdatei der Fabric-Organisation wurde erstellt und an den Netzwerkgründer von Oracle Blockchain Platform gesendet.

  • Der Netzwerkgründer hat die Zertifikatsdatei hochgeladen, um die Fabric-Organisation zum Netzwerk hinzuzufügen.

  • Der Netzwerkgründer hat einen neuen Kanal geschaffen und die Fabric-Organisation hinzugefügt.

  • Der Netzwerkgründer hat seine Bestellserviceeinstellungen heruntergeladen und an die Fabric-Organisation gesendet.

  • Die Fabric-Organisation hat die Zertifikatdatei für den Auftragnehmer erstellt.

  • Der Netzwerkgründer übermittelte der Fabric-Organisation die Adresse und den Port des Bestellservice.

Sie müssen die Fabric-Organisation hinzufügen und den Chaincode installieren und testen.

  1. Navigieren Sie zum Fabric-Netzwerkverzeichnis, und starten Sie den Peercontainer.

  2. Rufen Sie den Genesis-Block des Kanals mit diesem Befehl ab:

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

    Dabei gilt:

    • {orderer_addr} ist die Bestelleradresse des Gründers.

    • {orderer_port} ist die Portnummer des Gründers.

    • -c mychannel ist der Name des Channels, den der Gründer erstellt hat. Dies ist der Kanal, über den die Fabric-Organisation Transaktionen im Oracle Blockchain Platform-Netzwerk sendet und empfängt.

    • orderer.pem ist die Orderer-Zertifikatsdatei des Gründers.

  3. Verbinden Sie den Kanal mit diesem Befehl:

    peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
  4. Installieren Sie den Chaincode mit diesem Befehl:

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

    Dabei ist CC_SRC_PATH der Ordner, der den Chaincode enthält.

  5. Instanziieren Sie den Chaincode mit diesem Befehl:

    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. Rufen Sie den Chaincode mit diesem Befehl auf:

    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. Fragen Sie den Chaincode mit diesem Befehl ab:

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