Hello Cosmos community,
I am exploring the possibility of running WasmVM without relying on Cosmos’ default consensus engine, CometBFT. Instead, I want to integrate it with a different consensus mechanism. I have a few questions regarding the structural requirements and design implications for this setup:
- Transaction Structure:
- What would be the recommended format for transactions in such a setup?
- Are there any specific fields in the Cosmos SDK transaction structure that are tightly coupled to CometBFT and need to be redefined for a custom consensus?
- Block Structure:
- How should the block structure be designed when decoupling from CometBFT?
- Are there essential fields or metadata required for compatibility with WasmVM?
- Account Structure:
- Is it possible to use a custom account model? If yes, what constraints does WasmVM impose on account structure?
- Consensus Integration:
- What are the key considerations when integrating WasmVM with an alternative consensus mechanism?
- Are there any existing examples or projects that have implemented WasmVM with a non-CometBFT consensus engine?
I aim to understand how much flexibility WasmVM offers in these areas and what changes are required to make it work with a non-CometBFT consensus system.
I’d greatly appreciate insights, references to documentation, or guidance from those who might have explored similar use cases.