Chaincode ist im Wesentlichen die Geschäft Logik, die regelt, wie verschiedene Entitäten in einer Blockchain sind Netzwerk miteinander interagieren oder Geschäfte tätigen.
Aus Sicht eines App-Entwicklers sind ein Smart Contract und ein Ledger zentral für das Blockchain-Framework von Hyperledger Fabric.
Hier speichert das Hauptbuch Fakten über die aktuellen und historischen Zustände eines Satzes Geschäft Objekte. Smart Contracts definieren die ausführbare Logik, die neue Fakten generiert, die dem Ledger hinzugefügt werden.
Administratoren verwenden Chaincode, um verwandte Smart Contracts für die Bereitstellung zu gruppieren. Chaincode kann auch für die Low-Level-Systemprogrammierung von Fabric verwendet werden und wird normalerweise in Go, node.js oder Java geschrieben.
Chaincode-Terminologie
Im Zusammenhang mit Hyperledger Fabric verwenden viele die Begriffe Smart Contract und Chaincode synonym.
Im Allgemeinen definiert ein Smart Contract jedoch die Transaktionslogik, die wiederum den Lebenszyklus eines a Geschäft Objekt. Dieser Vertrag wird dann in einen Chaincode verpackt und in einer Blockchain bereitgestellt Netzwerk.
Um zwischen den beiden Begriffen zu unterscheiden, ist es hilfreich think von Smart Contracts als Regeln für Transaktionen und Chaincode als etwas, das bestimmt, wie diese Verträge für den Einsatz verpackt werden.
Betrachten Sie das Beispiel von a Geschäft Verkauf von Fahrzeugen an einen anderen Geschäft.
Intelligente Verträge legen einen vereinbarten Prozess fest, um das Eigentum an jedem Fahrzeug von einem zu übertragen Geschäft zu den anderen. Ein Fahrzeugkettencode kann intelligente Verträge für Autos, Lastwagen, Boote und Busse enthalten.
Es kann auch einen Versicherungskettencode geben, der weitere Smart Contracts für Police, Versicherung und Fahrzeugregistrierung enthält. Um einen bereits erwähnten Punkt zu wiederholen, denken Sie daran, dass Chaincode ein technischer Container einer Gruppe verwandter Smart Contracts ist. Die Smart Contracts selbst sind einfach domänenspezifische Programme, die sich auf bestimmte beziehen Geschäft Prozesse – etwa den Verkauf eines Fahrzeugtyps.
Kettencode des Systems
Chaincode kann auch Low-Level-Programmcode definieren, der unabhängigen Systeminteraktionen entspricht. Dieser Prozess steht in keinem Zusammenhang mit seiner Fähigkeit, Smart Contracts zu definieren.
Hier ist ein Blick auf einige gängige System-Chaincodes:
Systemkettencode abfragen (QSCC) – die in allen Peers läuft, um Ledger-APIs wie Blockabfragen und Transaktionsabfragen bereitzustellen.
Validierungssystem-Chaincode (VSCC) – Dieser Chaincode validiert eine Transaktion, indem er die Endorsement-Policy und die Read-Write-Set-Versionierung verifiziert.
Kettencode des Konfigurationssystems (CSCC) – oder Code, der über jeden Peer läuft, um damit umzugehen Kanal Konfigurationsänderungen wie Richtlinienaktualisierungen. Kanäle sind private Kommunikationswege zwischen zwei oder mehr Mitgliedern einer Hyperledger Fabric-Blockchain Netzwerk. Jeder Kanal hat ein eigenes Transaktionsbuch und jedes legt fest, welche Mitglieder daran teilnehmen können Kanal und die Peer-Knoten, die Transaktionen durchführen können.
Chaincode des Endorsement-Systems (ESCC) – Dies erleichtert die Bestätigung und kryptografische Signierung von Transaktionsvorschlägen durch relevante Peers.
Die zentralen Thesen:
Chaincode-Details Geschäft Logik, die die Interaktion verschiedener Entitäten in einer Blockchain regelt Netzwerk.
Chaincode wird manchmal als Smart Contracts auf der Hyperledger Fabric bezeichnet Netzwerk. Die beiden Begriffe sind jedoch unterschiedlicher. Chaincode bestimmt, wie Smart Contracts für die Bereitstellung verpackt werden.
Chaincode kann auch in der Low-Level-Programmierung verwendet werden, um Systeminteraktionen zu definieren. Diese Interaktionen umfassen Abfrage, Validierung, Konfiguration und Endorsement-System-Chaincode.
Gennaro ist der Schöpfer von FourWeekMBA, das allein im Jahr 2022 rund vier Millionen Geschäftsleute erreichte, darunter C-Level-Führungskräfte, Investoren, Analysten, Produktmanager und aufstrebende digitale Unternehmer | Er ist auch Director of Sales für ein Hightech-Scaleup in der KI-Industrie | Im Jahr 2012 erwarb Gennaro einen internationalen MBA mit Schwerpunkt auf Unternehmensfinanzierung und Geschäftsstrategie.