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:
- Eine Transaktion mit Dokumentinformationen kostet 0,1 DMS Coin als Gebühr. Hierfür wird ein Input (ein Guthaben im Wallet) gewählt.
- Berechnung des Wechselgeldes, der Differenz aus Guthaben und Transaktionsgebühr.
- Zusammenstellung der Transaktion mit den Dokumentinformationen und der Wechselgeld-Überweisung.
- Signieren der Transaktion.
- Senden der Transaktion in die Blockchain.
- Speichern der Transaktions-ID zusammen mit dem Dokument in der Archivdatenbank.
Revision, Bestätigung, dass die Datei unverändert vorliegt:
- Der aktuelle Hashwert des Dokuments und ev. der ausgewählten Metabeschreibung wird ermittelt.
- Die Transaktion mit Hilfe der gespeicherten ID aus der Blockchain gelesen.
- 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
- API reference (JSON-RPC)
- API calls list
- Documentchain Zusatzfunktionen
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.