Chaincode ist ein Programm, das eine vorgegebene Schnittstelle implementiert und in einem geschützten Docker-Container läuft. Chaincode wird in Sprachen wie Go, Node.js oder Java geschrieben. Es spielt eine entscheidende Rolle bei der Initialisierung und Verwaltung des Ledger-Zustands durch von Anwendungen eingereichte Transaktionen in einem Blockchain-Netzwerk.
Zweck und Funktion von Hyperledger's Fabric Private Chaincodes
Chaincode repräsentiert die von den Netzwerkteilnehmern vereinbarte Geschäftslogik und wird oft als "Smart Contract" bezeichnet. Ledger-Aktualisierungen, die von einem bestimmten Chaincode erstellt wurden, sind auch ausschließlich diesem vorbehalten, andere Chaincodes können sie nicht direkt abrufen. FPCs laufen in einem geschützten Docker-Container ab und bieten damit Isolation von Prozess des unterstützenden Peers.
FPC verwaltete Daten sind verschlüsselt und nur für autorisierte Teilnehmer lesbar. Autorisierte Parteien sehen die Details der Transaktion, während andere Netzwerkteilnehmer einen Bestätigungsnachweis erhalten. Dies verbessert die Vertraulichkeit der Daten, auch wenn sie auf der Blockchain gespeichert sind.