Etwas über DuskEVMs Adapter-Layer macht mich diese Woche neugierig – und es ist viel interessanter als der Standard-Pitch „Wir unterstützen Solidity“, mit dem die meisten EVM-Chains anfangen.
Hier ist das eigentliche Problem. Dusk spricht nativ GraphQL und etwas namens RUES für Events und State. Ethereum-Tooling hat keine Ahnung, was das ist. Jeder Explorer, jede Wallet und jeder Indexer erwartet Blöcke, Receipts, Logs und Proofs in einer sehr spezifischen Ethereum-Form. Also muss sich etwas zwischen Dunks nativen State und dieser erwarteten Struktur schieben und es jedes Mal korrekt übersetzen. Ein einziges inkonsistentes Feld – und der gesamte Downstream-Stack bricht still und leise, ohne dass es jemand sofort bemerkt.
Ein paar Unstimmigkeiten machen das konkret. Dusk beziffert den Wert auf der Basisschicht in LUX, während EVM-Tooling wei erwartet. Also braucht jede RPC-Antwort eine echte Umrechnung – nicht nur ein Neulabeln. Einzahlungen, die von Dusk L1 in DuskEVM übergehen, nutzen OP-artiges Address-Aliasing, weil es keinen nativen Weg gibt, zu identifizieren, welcher Contract tatsächlich einen Bridge-Trigger oder Value Pickup ausgelöst hat. Daher braucht tx.origin Cross-Domain-Messaging, um wiederherzustellen, wer es wirklich gesendet hat. Und da die Settlement-Finalisierung auf DuskDS statt auf Ethereum passiert, mussten die Dispute-Spiele und Fault-Proofs, die aus dem OP Stack entlehnt wurden, rund um Dunks eigenen Konsens neu aufgesetzt werden – statt rund um den von Ethereum.
Das hat bei mir den Schalter umgelegt. Den OP Stack zu forken ist nicht der schwere Teil. Der Sequencer und die Blockproduktion bleiben erkennbar als op-geth. Aber die Proofs-Settlement- und Value-Semantik mussten komplett neu für Dusk-nativ gebaut werden. Wo genau diese Trennlinie verläuft – das ist die eigentliche Ingenieursarbeit.
#dusk $DUSK @Dusk
$ETH
Hier ist das eigentliche Problem. Dusk spricht nativ GraphQL und etwas namens RUES für Events und State. Ethereum-Tooling hat keine Ahnung, was das ist. Jeder Explorer, jede Wallet und jeder Indexer erwartet Blöcke, Receipts, Logs und Proofs in einer sehr spezifischen Ethereum-Form. Also muss sich etwas zwischen Dunks nativen State und dieser erwarteten Struktur schieben und es jedes Mal korrekt übersetzen. Ein einziges inkonsistentes Feld – und der gesamte Downstream-Stack bricht still und leise, ohne dass es jemand sofort bemerkt.
Ein paar Unstimmigkeiten machen das konkret. Dusk beziffert den Wert auf der Basisschicht in LUX, während EVM-Tooling wei erwartet. Also braucht jede RPC-Antwort eine echte Umrechnung – nicht nur ein Neulabeln. Einzahlungen, die von Dusk L1 in DuskEVM übergehen, nutzen OP-artiges Address-Aliasing, weil es keinen nativen Weg gibt, zu identifizieren, welcher Contract tatsächlich einen Bridge-Trigger oder Value Pickup ausgelöst hat. Daher braucht tx.origin Cross-Domain-Messaging, um wiederherzustellen, wer es wirklich gesendet hat. Und da die Settlement-Finalisierung auf DuskDS statt auf Ethereum passiert, mussten die Dispute-Spiele und Fault-Proofs, die aus dem OP Stack entlehnt wurden, rund um Dunks eigenen Konsens neu aufgesetzt werden – statt rund um den von Ethereum.
Das hat bei mir den Schalter umgelegt. Den OP Stack zu forken ist nicht der schwere Teil. Der Sequencer und die Blockproduktion bleiben erkennbar als op-geth. Aber die Proofs-Settlement- und Value-Semantik mussten komplett neu für Dusk-nativ gebaut werden. Wo genau diese Trennlinie verläuft – das ist die eigentliche Ingenieursarbeit.
#dusk $DUSK @Dusk
$ETH
