Multi-DApp Rollups Node

Context

The Cartesi Rollups Node only works for a single DApp. So, if a node runner (e.g., sunodo) wants to run multiple DApps simultaneously, it must start and manage multiple nodes. Starting multiple nodes at a container level requires significant effort, and the implementation will be tied to an orchestration framework (Kubernetes). Moreover, we are already facing some problems with this approach: Share transaction manager accross Rollups Nodes - #5 by gligneul.eth.

Proposed solution

The Rollups Node should handle multiple DApps simultaneously, with a management API to add and remove DApps during runtime. Then, instead of managing containers at the Kubernetes level, the Node will manage lightweight nodes inside its container. We can do this in small steps, starting from the current node implementation. Nonetheless, this requires significant effort from the Node Unit.

1 Like

I’m a big supporter of this. It’s crutial for sunodo, not only to greatly reduce costs but also to actually make it work with a single wallet and Authority for all dapps.

Im also a big supported on this initiative reducing costs on Sunodo side is paramount

Simple question that came to my mind: In the quorum mode, dApps running inside a single Node will have to use all the same validators choice? I mean In validator A we have 1,2,3 dApps while on validator B the 2,3,6 dApp and validator C the 1,2,6?

It will be one validator per node. So, If you want to use a quorum, you must run multiple nodes. A node can support DApps with or without quorums at the same time. It should also be possible to run DApps for different quorums inside the same node.

For the node, it does not make a difference if its a Quorum consensus or an Authority. The difference is that in the Authority the claim will be accepted as soon as the validator adds it. In the quorum the claim will be accepted when the majority of validators for that DApp post the same claim.

it does not make a difference if its a Quorum consensus or an Authority

But the configuration of the node is different (the address of the IConsensus).
So we have to see how to be able to configure that per DApp in the same multi-dapp node. This is not planned as of now.