Dolos bringt leichtgewichtigen Rust-basierten Datenknoten zu Cardano-Entwicklern
TxPipe stellte Dolos während der Cardano Developers Office Hours vor und beschrieb einen leichtgewichtigen Cardano-Datenknoten auf Rust-Basis, der entwickelt wurde, um die Infrastrukturbelastung zu reduzieren und Entwicklern flexiblen Zugriff auf Blockchain-Daten zu ermöglichen.
By SongMarketCap
Während der Cardano Developers Office Hours präsentierte Santiago Carmuega, CEO und Gründer von TxPipe, eine technische Einführung zu Dolos, einem leichtgewichtigen Cardano-Datenknoten, der in Rust geschrieben wurde. Der Schwerpunkt der Sitzung lag auf Infrastrukturvielfalt, Modularität und einfacherem Zugang zu Cardano-Blockchain-Daten für Anwendungen, Wallets und Backend-Dienste.
Dolos wurde als ergänzendes Werkzeug vorgestellt, nicht als Ersatz für den bestehenden Cardano-Knoten. Sein Zweck ist enger gefasst und bietet eine flexible Abfrageschicht für Teams, die zuverlässige Blockchain-Daten benötigen, ohne eine vollständige Infrastruktur betreiben zu müssen.
Dolos zielt auf Cardano-Entwicklererfahrung und Datenzugriff
TxPipe entwickelt Open-Source-Tools für Cardano-Entwickler, und Dolos passt in diesen Fokus, die Entwicklererfahrung zu verbessern. Carmuega sagte, dass einer der ersten Schmerzpunkte, die er im Cardano-Ökosystem erlebte, die Schwierigkeiten beim Abrufen von Daten vom Knoten waren.
In manchen Blockchain-Ökosystemen können Entwickler einen Endpunkt abfragen und Informationen zum neuesten Block, einer Transaktion oder einem Adresszustand erhalten. In Cardano ist dieser Prozess technisch anspruchsvoller, da er Ouroboros-Mini-Protokolle, binäre Formate und ein spezielles Netzwerkmodell umfasst.
Laut der Präsentation wurde Dolos als eine alternative und ergänzende Knotenlösung für einen spezifischen Anwendungsfall entwickelt, die Entwicklern eine reichhaltigere und flexiblere Möglichkeit bietet, Daten von der Cardano-Blockchain abzufragen. Das macht es relevant für Teams, die Anwendungen, Wallets und Datendienste entwickeln, die nicht am Konsens teilnehmen oder Blöcke produzieren müssen, aber dennoch ein stabiles Backend für das Auslesen von Blockchain-Daten benötigen.
Carmuega verglich Dolos außerdem mit DB Sync. DB Sync bleibt ein gängiges Tool für tiefgehenden SQL-basierten Zugriff auf Cardano-Daten, benötigt jedoch einen Cardano-Knoten, PostgreSQL und einen Synchronisations-Worker. Dolos zielt auf Anwendungsfälle ab, bei denen Anwendungen bereits wissen, welche spezifischen Daten sie benötigen, und effizientere APIs einsetzen können, anstatt ein vollständiges dynamisches SQL-Backend zu betreiben.
Rust-basierter Cardano-Knoten unterstützt Blockfrost, Kupo und UTXRPC
Dolos bietet mehrere API-Oberflächen für externe Anwendungen. Eine davon ist eine gRPC-Schnittstelle unter Verwendung der UTXRPC-Spezifikation, die für Anwendungsfälle entwickelt wurde, bei denen kompakte binäre Kommunikation und Abfragen mit niedriger Latenz entscheidend sind. Dolos umfasst auch eine API mit einem Aufbau ähnlich wie Blockfrost, sodass Teams, die bereits Blockfrost-Endpoints verwenden, bestehende Anwendungen mit weniger Integrationsänderungen auf Dolos ausrichten können.
TxPipe erklärte, dass es eng mit dem Blockfrost-Team zusammengearbeitet und Blockfrost-Konformitätstests genutzt habe, um die Kompatibilität der Endpunkte zu prüfen. Laut Carmuega besteht Dolos mehr als 900 Konformitätstests, unterstützt jedoch nicht alle Blockfrost-Endpunkte, da einige nach einer Kosten-Nutzen-Analyse ausgeschlossen wurden.
Dolos bietet außerdem eine Mini-Kupo-API, die auf dem UTXO-Set, Datums und Scripts fokussiert ist und Abfragemuster verwendet, die Kupo-Nutzern vertraut sind. Darüber hinaus stellt es Cardano-Knoten-zu-Client-Mini-Protokolle bereit, darunter lokale Statusabfragen und Ketten-Synchronisierung. Dadurch können bestimmte Tools, die mit einem Haskell-Knoten interagieren möchten, sich mit Dolos verbinden und Teile derselben API-Oberfläche nutzen.
Dieses Design positioniert Dolos als Infrastruktur-Adapter für Cardano-Anwendungen. Wallets, Transaktions-Builder, Explorer und Middleware-Tools können unterschiedliche Zugriffsmuster verwenden, je nachdem, ob sie Blockfrost-Kompatibilität, Kupo-ähnliche UTXO-Abfragen, UTXRPC-Leistung oder eine Schnittstelle näher an der Standardumgebung eines Cardano-Knotens benötigen.
Sliding-Window-Speicher und Vertrauensannahmen für Relay-Knoten
Dolos bringt klare Kompromisse mit sich. Carmuega erklärte, dass Dolos keinen vollständigen Konsens oder vollständige Blockvalidierung beim Abrufen von Daten durchführt. Stattdessen verbindet es sich über Knoten-zu-Knoten-Protokolle mit einem Relay-Knoten, entweder lokal oder öffentlich, der vom Betreiber als Datenquelle ausgewählt wird. Damit entsteht eine Vertrauensannahme zwischen Dolos und dem verwendeten Relay-Knoten.
Für Anwendungsentwickler kann dieses Modell zu Anwendungsfällen beim Datenzugriff passen, bei denen ein Team keinen vollständigen lokalen Knoten-Stack betreiben muss. Im Vergleich während der Sitzung wurde erklärt, dass DB Sync ebenfalls von einem Hintergrund-Knoten als Datenquelle abhängt, während Dolos sich mit einem Relay-Knoten verbinden kann, ohne ein lokales Haskell-Knoten-Socket zu benötigen.
Ein technisches Merkmal, das in der Präsentation hervorgehoben wurde, ist das Sliding-Window-Speichermodell von Dolos. Betreiber können die vollständige Historie der Blockchain behalten, aber auch ein begrenztes Zeitfenster auswählen. In dieser Konfiguration bewahrt Dolos Blöcke, Transaktionen, Scripts, Datums und UTXO-Daten, die für den ausgewählten Zeitraum relevant sind, während ältere Daten aus dem lokalen Speicher entfernt werden. Dies kann die Festplattenanforderungen für Anwendungen reduzieren, die nur aktuelle Blockchain-Aktivitäten und nicht die vollständige Historie aus der Byron-Ära benötigen.
TxPipe zeigte auch Leistungsdaten von Mainnet-Dolos-Instanzen. Laut dem während der Sitzung gezeigten Dashboard bearbeitete eine Instanz etwa 180 Anfragen pro Sekunde, wobei die 99. Perzentil-Latenz meist unter 800 Millisekunden lag und das 50. Perzentil bei etwa 4 bis 5 Millisekunden. Carmuega brachte diese Ergebnisse mit Dolos als kompaktem Single-Process-Rust-Komponente in Zusammenhang, kombiniert mit lokalem Schlüssel-Werte-Speicher, LSM-Bäumen, Bloom-Filtern und spezifischen Indexierungsstrategien.
Die Präsentation beinhaltete praktische Beispiele für den Einsatz von Dolos, darunter Lace Anatomy, ein entwicklerorientierter Blockchain-Explorer, der Dolos als Backend ohne DB Sync nutzt. Carmuega erwähnte außerdem Endpunkte der Demeter-Plattform und andere Teams des Cardano-Ökosystems, die Dolos im Hintergrund für den Datenzugriff verwenden.
Dolos bietet Cardano-Anwendungen eine Backend-Option, die Blockfrost-ähnliche, Kupo-ähnliche und UTXRPC-Zugriffsmuster bedienen kann, ohne DB Sync für jeden Anwendungsfall zu benötigen. Für Wallets, Explorer und Datendienste ist der operative Unterschied ein leichterer Zugang zu Cardano-Blockchain-Daten, wenn eine vollständige Konsensbeteiligung nicht Teil der Infrastruktur-Anforderung ist.