Please describe your proposed solution.
The Context:
The ability to run parallel experiments is something the Cardano and Catalyst community have been asking for over a year now. This proposal takes a shot at moving the needle on this ask. We're not proposing a single solution with one output but rather a series of experiments.
The catalyst team is busy building an infrastructure stack to bring better UI/UX, more transparency and flexibility to how we run Catalyst. This means over the next 12 to 24 months the only thing they will be thinking about is how to make the system work for the way we’ve been running Catalyst using Ada voting power.
**The Opportunity**
It would be a missed opportunity if the community does not come alongside the catalyst core team and run experiments that could lead to more battle tested, more versatile, and more bang for the buck catalyst system, while the cement is still wet. We don't want to wait two years to find out that the system can't be flexible in this way, or that assumptions about flexibility were "off tip (SPO speak for 'behind the rest of the network')".
**The Experiments**
Experiment 1: The disco solaris Neo Miami community have been dreaming about running an innovation round much like Catalyst using their Discoin for incentivisation. We have a memorandum of understanding to host and run their DisCatalyst using the Catalyst Explorer as the frontend and the Catalyst Core as the backend.
Experiment 2: What modules of the system can we run independently for solving problems not related to catalyst voting cycles. On this, our eyes are centered on the snapshot module. Every Fungible or Non-fungible community often needs snapshot:
Can we re-purpose the snapshot module just for generating snapshots for whatever purpose?
We will be looking at the current open source code for catalyst infrastructure and seeing if we can extract and run the snapshot module as an independent system.
An additional questions we will be trying to answer:
- Is the independent snapshot module flexible to apply rules, account for NFT rarities, and accommodate multipliers?
We don't yet know the answer to these questions but would like the opportunity to find out.
**Outputs for SPOs and Friends**
The catalyst team has communicated that we will be able to run the Catalyst System using docker-compose or Earthly.dev. Neither of these are meant for or recommended for running long running systems in production.
- docker-compose is great for rapid prototyping.
- Earthly is excellent for packaging and taking the pain out CI/CD orchestration.
Therefore, We will be creating Kubernetes artifacts with a helm chart (or Kustomize) to boot for a more resilient option for SPOs who want to start experimenting with running all or parts of the Catalyst infrastructure. Because we're Cardano, I imagine the eventual direction of the catalyst infrastructure is a federated if not decentralized setup.
The more opportunities SPOs have to start running the system now the more prepared we will be when the call comes to help run catalyst infrastructure.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
The challenges wants to "kickoff SPO Tools & Platforms, to offer Services, Events, and Research." If catalyst modules can be run independent of the entire stack for other purposes, this opens the door for services SPOs can offer the community!
Opportunity 1:
This proposal will not only demonstrate how SPOs can be leveraged to host catalyst style innovation rounds for community, output the data and spin down the infrastructure, it will also provide git repo for a starting point!
Opportunity 2:
This proposal will provide a git repo that can serve as a basis for SPOs to offer a snapshot as a service to the community.
As a stake pool operator that runs Cardano infrastructure on both the preview and Mainnet (lido is the ticker on both), we're quite excited about this opportunity for maximizing our Cardano node usefulness and potential for additional revenue streams.
How do you intend to measure the success of your project?
- Can the Disco community run their DisCatalyst on the infrastructure?
- Can one or more modules be run independently to solve one or more challenges not related to catalyst voting cycles?
- Can we run catalyst infrastructure on Kubernetes?
Please describe your plans to share the outputs and results of your project?
All code assets will be open sourced. We will also be engaging with the community on twitter spaces and main town hall check ins as well as after Townhalls.