Something in the docs stopped me mid-scroll today.
Dusk Network, $DUSK , #dusk , @Dusk — the EVM compatibility angle is how most people find this project. Port your Solidity contracts, use familiar tooling, existing EVM wallets. The duskevm-genesis repo on GitHub was last updated August 8, showing active rollup config work. So the machinery is running. But the deeper thing I couldn't shake is in the architecture docs themselves, tucked under a single line: "Transaction inclusion is fast, but inclusion and settlement are different stages."
That's the tell. DuskEVM runs on OP Stack — essentially op-geth as the sequencer, batching transaction data back to DuskDS as blobs. Standard rollup behaviour. But DuskDS, the actual purpose-built layer underneath — deterministic settlement, ZK smart contracts, native privacy — is a separate execution environment entirely. The docs are explicit about it: build on DuskEVM for Solidity and familiar tooling, or build natively on DuskDS with Rust and WASM for real protocol-level privacy and custom market logic. Two paths. Not one unified thing.
hmm… I spent a bit too long assuming EVM compatibility here meant Solidity code would automatically inherit Dusk's financial infrastructure. It doesn't. The bridge between those two layers is deliberate and optional, not automatic.
Which makes me wonder — how many developers porting to DuskEVM will actually go back and re-architect for DuskDS once they realize what they left on the table?
Dusk Network, $DUSK , #dusk , @Dusk — the EVM compatibility angle is how most people find this project. Port your Solidity contracts, use familiar tooling, existing EVM wallets. The duskevm-genesis repo on GitHub was last updated August 8, showing active rollup config work. So the machinery is running. But the deeper thing I couldn't shake is in the architecture docs themselves, tucked under a single line: "Transaction inclusion is fast, but inclusion and settlement are different stages."
That's the tell. DuskEVM runs on OP Stack — essentially op-geth as the sequencer, batching transaction data back to DuskDS as blobs. Standard rollup behaviour. But DuskDS, the actual purpose-built layer underneath — deterministic settlement, ZK smart contracts, native privacy — is a separate execution environment entirely. The docs are explicit about it: build on DuskEVM for Solidity and familiar tooling, or build natively on DuskDS with Rust and WASM for real protocol-level privacy and custom market logic. Two paths. Not one unified thing.
hmm… I spent a bit too long assuming EVM compatibility here meant Solidity code would automatically inherit Dusk's financial infrastructure. It doesn't. The bridge between those two layers is deliberate and optional, not automatic.
Which makes me wonder — how many developers porting to DuskEVM will actually go back and re-architect for DuskDS once they realize what they left on the table?
