Open Source-Plattform für die eigene Blockchain MultiChain - Die Enterprise-Blockchain

Thomas Joos

Anbieter zum Thema

Mit MultiChain können Unternehmen eine eigene Blockchain aufbauen. Die Open Source-Lösung steht On-Premises zur Verfügung, kann aber auch in der Cloud bei AWS oder der SAP Cloud betrieben werden.

Mit MultiChain können Entwickler oder Administratoren unter Windows und Linux in kurzer Zeit eine eigene Blockchain erstellen.
Mit MultiChain können Entwickler oder Administratoren unter Windows und Linux in kurzer Zeit eine eigene Blockchain erstellen.
(© enzozo - adobe.stock.com)

MultiChain ist eine Open Source-Fork von Bitcoin. Das Projekt gibt es seit 2014. Mit der Plattform ist es möglich eigene Blockchains zu entwickeln und zu betreiben.

Der Aufbau einer Testumgebung für MultiChain wird auf der Seite „Getting Started with MultiChain“ beschrieben. Der Vorteil an MultiChain ist, dass Entwickler oder Administratoren in kurzer Zeit eine eigene Blockchain erstellen können. MultiChain kann dazu in Windows und Linux genutzt werden. Unter Windows ist keine Installation notwendig, die notwendigen Tools liegen in einem ZIP-Archiv. MultiChain ist eine sehr kleine Plattform und bietet keinerlei integrierte Token-Objekte wie Smart Contracts, Kryptowährungen oder andere digitale Assets.

Bildergalerie
Bildergalerie mit 6 Bildern

Multichain Community Edition und Enterprise

Wer MultiChain produktiv einsetzen will, kommt auf Dauer um das Buchen einer kostenpflichtigen Version kaum herum. Die Community Edition steht unter der GPLv3-Lizenz kostenlos zur Verfügung. Allerdings gestatten die Entwickler nur den Betrieb in Test- und Entwicklungsumgebungen.

Im produktiven Einsatz ist eine Lizenz der Enterprise-Edition notwendig. Neben professionellem Support verfügt MultiChain-Enterprise über mehr Funktionen. Ein Vergleich der beiden Editionen ist auf der Seite der Entwickler zu sehen. Die Enterprise-Edition bietet im Vergleich zur Community Edition vor allem:

  • Stream Read Restrictions
  • End-to-End Encryption
  • Real-Time Data Feeds
  • Selective Stream Indexing
  • Selective Data Retrieval
  • Off-Chain Data Purging

Wer die Funktionen der kostenpflichtigen Enterprise-Edition nutzen will, kann diese 90 Tage kostenlos testen. Dabei werden alle Funktionen der Enterprise-Edition verfügbar gemacht.

MultiChain in der Praxis - Windows und Linux

Um unter Windows eine Blockchain mit MultiChain zu erstellen, wird zunächst das Archiv dazu heruntergeladen und extrahiert. Um eine neue Chain zu erstellen, wird zum Beispiel in der Eingabeaufforderung die folgenden Befehle eingegeben:

multichain-util create meinechainmultichaind meinechain -daemon

In Windows erscheint eine Meldung der Windows Defender Firewall. Hier sollte der Zugriff natürlich für das entsprechende Netzwerk gestattet werden. MultiChain kann auf Windows 7, Windows 10 und auch auf Windows-Servern, bis hin zu Windows Server 2019 betrieben werden.

Auf dem gleichen Weg kann auch eine Blockchain in Linux erstellt werden. MultiChain unterstützt die Installation auf Ubuntu, CentOS, Debian, Fedora oder RHEL.

Um in Linux MultiChain zu installieren, sind Root-Rechte notwendig. Danach kann mit folgenden Befehlen der Download erfolgen. Als Download-Archiv wird hier die Enterprise-Version verwendet, die 90 Tage getestet werden kann.

cd /tmpwget https://www.multichain.com/download/multichain-2.1.2.tar.gztar -xvzf multichain-2.1.2.tar.gzcd multichain-2.1.2mv multichaind multichain-cli multichain-util /usr/local/bin

Soll die kostenlose Community Edition verwendet werden, muss der Link der Community-Version verwendet werden. Der Link ist auf der Download-Seite von MultiChain erreichbar .

Bildergalerie
Bildergalerie mit 6 Bildern

Verbindungsaufbau zur eigenen Blockchain

Wenn eine eigene Blockchain erstellt wurde, kann auch über das Netzwerk ein Verbindungsaufbau erfolgen. Dazu werden Tools aus dem Download-Verzeichnis benötigt, zum Beispiel „multichaind“. Ein Verbindungsaufbau erfolgt am Beispiel der erstellten Blockchain „meinechain“ mit dem folgenden Befehl:

Multichaind meinechain@192.168.1.55:6811

Damit der Verbindungsaufbau funktioniert, muss in der Firewall auf dem Computer natürlich der eingehende TCP/UDP-Port 6811 erlaubt werden. Nach dem Verbindungsaufbau erscheint zunächst die Meldung, dass noch keine Berechtigung für den Zugriff besteht. Zusätzlich zeigt der Befehl eine ID an. Auf dem MultiChain-Server wird mit dieser ID und dem Befehl „multichain-cli“ die Berechtigung erteilt. Um umfassende Rechte zu erteilen, wird zum Beispiel auf dem Server der folgende Befehl ausgeführt:

multichain-cli meinechain grant 1FzvabredSmcESJ8MgwzyhA7o4w3YBURrzLZFB connect,send,receive

Als ID wird hier die ID verwendet, die „Multichaind“ auf dem Client erstellt hat. Danach kann auch auf dem zweiten Server MultiChain verbunden werden:

multichaind chain1 -daemon

Mit „multichain-cli“ können anschließend Verwaltungsaufgaben auf der Blockchain durchgeführt werden. Mit „multichain-cli meinechain getinfo“ werden Informationen zur Chain angezeigt. Alle zur Verfügung stehenden Optionen zeigt die CLI mit „multichain-cli meinechain help“ an.

Die MultiChain-CLI bietet verschiedene Optionen an. Um die die aktuell gesetzten Berechtigungen anzuzeigen wird der Befehl „multichain-cli meinechain listpermissions“ verwendet. Die verschiedenen Adressen der verbundenen Clients werden mit „multichain-cli meinechain listaddresses“ angezeigt. Um in der Chain einen neuen Stream zu erstellen, wird unter Windows zum Beispiel folgender Befehl verwendet:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung
multichain-cli meinechain create stream stream1 "{\"restrict\":\"write\"}"

Auf Linux-Rechnern sieht der Befehl etwas anders aus:

create stream stream1 '{"restrict":"write"}'

In diesen Stream können Daten gespeichert werden, zum Beispiel mit:

multichain-cli meinechain publish stream1 key1 "{\"json\":{\"name\":\"Thomas Joos\",\"Stadt\":\"Bad Wimpfen\"}}"

Auch hier wird auf Linux wieder mit einem anderen Befehl gearbeitet:

multichain-cli meinechain publish stream1 key1 '{"json":{"name":"Thomas Joos","Stadt":"Bad Wimpfen"}}'

Auf dem zweiten Knoten kann der erstellte Stream wiederum mit „multichain-cli meinechain liststreams“ angezeigt werden. Auf dem zweiten Knoten kann anschließend der Stream abonniert und dessen Inhalt über die Chain angezeigt werden:

multichain-cli meinechain subscribe stream1multichain-cli meinechain liststreamitems stream1

Das sind nur kleine Beispiele, was mit MultiChain möglich ist. Auf der GetStarted-Seite von MultiChain werden diese Möglichkeiten noch ausführlicher gezeigt.

(ID:47401065)