Manuel Rauber Thinktecture AG

Anstelle einer Domänensprache bietet Fabric die Entwicklung von Smart Contracts – oder auch Chaincode, wie das im Hyperledger-Umfeld genannt wird – in den Sprachen Java, Go und JavaScript (via Node.js) an, experimentell kann auch .NET verwendet werden.

Hyperledger Fabric, eine von der Linux Foundation unterstütze Blockchain, erlaubt das Entwickeln von Smart Contracts in Go, Node.js und Java. Mit einem experimentellen Paket lassen sich die Smart Contracts auch in .NET entwickeln. Dank .NET Core können die Smart Contracts via Docker – dem Deploymentmodell von Hyperledger Fabric – gestartet werden. In diesem Artikel wollen wir die Entwicklung von Smart Contracts mit C# genauer beleuchten.

Hyperledger Fabric ist eine unter dem Dachverband Hyperledger mit Go entwickelte Open Source Blockchain. Hyperledger selbst wurde Ende 2015 von der Linux Foundation gegründet. Unter dem Dachverband werden Open Source Blockchains und dazu passende Tools entwickelt. Große Unternehmen wie Intel, IBM, Cisco oder Red Hat unterstützen Hyperledger. Dabei wird nicht nur der Ansatz einer Blockchain, sondern vielmehr verschiedener Blockchain-Plattformen verfolgt.

Genauer handelt es sich bei Hyperledger Fabric (kurz: Fabric) um eine Technologie für Permissioned Blockchains bzw. private Blockchains – also eine Blockchain, die nicht wie Ethereum oder Bitcoin für alle öffentlich, sondern nur bestimmten Teilnehmern zugänglich ist. Dadurch können wir bei diesen Arten von Netzwerken das klassische Mining (Proof of Work, PoW) vernachlässigen. Vielmehr kommt hier der Konsens über Proof of Authority (PoA) (Kasten: „Proof of Authority“) zum Tragen.

Anstelle einer Domänensprache bietet Fabric die Entwicklung von Smart Contracts – oder auch Chaincode, wie das im Hyperledger-Umfeld genannt wird – in den Sprachen Java, Go und JavaScript (via Node.js) an, experimentell kann auch .NET verwendet werden. Folgend werden wir einen Chaincode mit C# entwickeln, der das Standardbeispiel FabCar von Hyperledger implementiert. FabCar dient der Zuordnung von Autos zu ihrem Besitzer. Schreibend erlaubt der Chaincode sowohl das Anlegen eines neuen Eintrags (z. B.: Hat jemand ein neues Auto gekauft?) als auch den Wechsel des Besitzers. Lesend können die Informationen über ein bestimmtes Auto oder eine Liste aller Autos erlangt werden.

Vorbereitungen für das Netzwerk

Bevor wir mit der Entwicklung starten können, benötigen wir ein Hyperledger-Fabric-Netzwerk. Hierbei bietet sich das Chaincode Developer Network (Dev-Netzwerk) an. Normalerweise muss der Chaincode bei einer Änderung deployt und danach instanziiert werden. Bei diesem Vorgang wird von einem Fabric Peer ein Docker-Container mit dem Chaincode gestartet. Dieser Vorgang nimmt durchaus einige Zeit in Anspruch, was die Entwicklung sehr langsam machen würde. Durch das Dev-Netzwerk können wir diesen Vorgang deutlich verkürzen, da wir den Chaincode außerhalb der Docker-Umgebung von Fabric starten.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 1.19 - "Umzug ins Web"

Alle Infos zum Heft
579868818Hyperledger Fabric – smarte Programmiersprache für smarte Verträge
X
- Gib Deinen Standort ein -
- or -