Documentchain für Entwickler

Nutzen Sie die Blockchain-Technik als Basis für Ihren Rechteschutz-Service und binden Sie Revisionsfunktionen in Ihr Dokumentenmanagement ein.

Grundlagen

Die Dokumentdateien verbleiben beim Anwender - beispielsweise im Archiv Ihrer DMS-Lösung. Hashwerte der Datei und ausgewählter Metadaten werden auf der Blockchain hinterlegt; diese sind dort dauerhaft und unverfälschbar gesichert. Die Dezentralität der verteilten Blockchain bringt ein Höchstmaß an Revisionssicherheit.

Hintergrundinformationen und technische Details finden Sie im White-paper.

Video: Zusammenspiel zwischen der Wallet-Software und einem DMS.

Für die Integration in Ihre eigene Software können Sie die API zur Wallet oder das Hilfsprogramm DMS-API verwenden.

» API - Application Programming Interface
» Hilfsprogramm (derzeit nur für Windows)

Programmablauf

Für das Hinterlegen der Hashwerte in einer Blockchain-Transaktion werden folgende Schritte durchgeführt:

  1. Eine Transaktion mit Dokumentinformationen kostet 0,1 DMS Coin als Gebühr. Hierfür wird ein Input (ein Guthaben im Wallet) gewählt.
  2. Berechnung des Wechselgeldes, der Differenz aus Guthaben und Transaktionsgebühr.
  3. Zusammenstellung der Transaktion mit den Dokumentinformationen und der Wechselgeld-Überweisung.
  4. Signieren der Transaktion.
  5. Senden der Transaktion in die Blockchain.
  6. Speichern der Transaktions-ID zusammen mit dem Dokument in der Archivdatenbank.

Revision, Bestätigung, dass die Datei unverändert vorliegt:

  1. Der aktuelle Hashwert des Dokuments und ev. der ausgewählten Metabeschreibung wird ermittelt.
  2. Die Transaktion mit Hilfe der gespeicherten ID aus der Blockchain gelesen.
  3. Abgleich der Hashwerte und Bestätigung für tatsächlich unveränderte Dokumente.

API

Die Kommunikation zur Walletsoftware "DMS Core" erfolgt mittels Remote Procedure Call (RPC), genauer HTTP JSON-RPC. DMS Core ist für Windows, Linux und macOS verfügbar.

Das Documentchain-API ist grundsätzliche zur Bitcoin- und Dash-API kompatibel, umfasst aber zusätzlich Funktionen. Siehe

Beispielcode für die Speicherung einer Dokumententransaktion

QString Document::writeToBlockchain()
{
    std::string result;
    std::string filtered;
    std::string changetx = "";
    …

» Vollständige Funktion zeigen
» Funktion im Programmkontext

Beispielcode für eine Dokumentenrevision

QString Document::documentRevision()
{
    std::string result;
    std::string filtered;
    QString txasm;
    …

» Vollständige Funktion zeigen
» Funktion im Programmkontext

Einfacher: Nutzung des Hilfsprogramms

Wenn es Ihnen um eine schnelle Integration geht, brauchen Sie sich nicht mit den Details auseinanderzusetzen. Nutzen Sie das Hilfsprogramm "dms-api.exe". Sie können es mit je einem Startparameter für die Dokumententransaktion und für die Revision ausführen ohne sich um die einzelnen RPC-Funktionen zu kümmern.