[GENERAL] Name and surname of main applicant
Santiago Carmuega
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Entity (Incorporated)
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
8
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
We'll build a SuperNode, a new infrastructure tool aimed at SPOs, capable of onboarding and operating multiple Cardano partnerchain nodes using a unified and simple interface.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
Yes
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
We have a dependency on IOG's Partnerchain SDK which already has a public release. We're planning on supporting the latest released version by the time we start the development process.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
All source-code developed for this proposal will be released under Apache 2.0 license.
[METADATA] Horizons
Infrastructure
[SOLUTION] Please describe your proposed solution
"SuperNode" is the common term used by the industry to describe an infrastructure orchestration layer that unifies the operational aspects of running a diverse set of nodes, processes & services from multiple blockchains.
There are existing implementation within the category of SuperNodes, but none of them focus on the idea of Cardano Partnerchains. Our proposal aims to build a solution tailored for Cardano SPOs where they can leverage their existing knowledge and expertise to increase their revenue stream by offering security to connected Partnerchains.
In particular, our solution will provide the following characteristics / features:
- Partnerchain onboarding wizard: a simple web UI allowing SPOs to execute the required on-chain ceremony to become part of the block-producing committee of a particular partnerchain.
- Partnerchain node provisioning: a simple UI to provision the required infrastructure components (containers) to host the specific node for a partnerchain.
- Unified monitoring: a unified web interface for SPOs to monitor health, load and traffic from all of their connected partnerchains; including alerting system integration.
- Kubernetes: built on top of Kubernetes as a way to leverage it's battle-tested container orchestration functionality and extensive tooling.
- Run it anywhere: our SuperNode is agnostic of the underlying compute infrastructure; it can run on on-premise or on cloud-providers; directly bare metal or in virtualized environments.
- Bring your own cloud: SPOs will be able to easily deploy their SuperNode directly on their own cloud-provider accounts (support for AWS, GCP and Azure) using scripts provided as part of the tool.
- Partnerchain Discovery: the UI will integrate a public catalog of available networks, serving as a marketplace to match SPOs with partnerchains in need of operators.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
The potential benefits of a rich partnerchain ecosystem on top of Cardano has been extensively discussed by the community, the key points can be summarized as:
- allows new use-cases that require a different set of trade-offs at the protocol level (consensus, finality, etc) by extending Cardano capabilities instead of forcing projects to opt for other chains.
- leverages the extensive and robust community of SPOs to serve as providers for new chains. This provides a new revenue stream for SPOs, effectively making the Cardano network more secure.
All of the above benefits won't live to its potential if the node operators can't handle the complexity of managing all of these new infrastructure requirements and procedures. A SuperNode that simplifies the operation will improve our chances of building a rich and active partnerchain ecosystem.
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
TxPipe is an active member of the Cardano ecosystem
TxPipe has been developing open-source tools for the Cardano ecosystem for over 3 years and we're not going anywhere. Evidence of our commitment can be found by evaluating the continuous activity of our public code repositories.
Experience developing in the Cardano ecosystem
TxPipe has helped developed several dApps for the Cardano ecosystem. This experience allows us to evaluate the feasibility of the project and its potential benefit from a developer's perspective. We've also participated in development of chains using the released version of the IOG's Partnerchain SDK.
Successful Catalyst proposals
We have successfully completed several Catalyst proposals. This is evidence that our team has the required capabilities to fulfill these type of projects.
Development process will be public and open-source
Both the output and the development process will be public and open-source. This approach provides an easy way for the Catalyst team and the Cardano community to evaluate the progress at each step of the process.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Project Scaffolding
Milestone outputs:
- A stub of the Kubernetes operator
- A stub of the management web UI
- A stub of the management CLI
- A stub of the API interface
Acceptance criteria:
- All components stubs are ready for feature development
- A CI/CD pipeline is in place to build / integrate the different artifacts
Evidence of milestone completion:
- Publicly available source-code containing the project scaffold
Onboarding Flow
Milestone outputs:
- Off-chain code for interacting with partnerchain contracts
- UI for SPOs to onboard a partnerchain
- UI for SPOs to track partnerchain membership status
Acceptance criteria:
- An SPO is able to use the UI to join a partnerchain (testnet environment)
- An SPO is able to use the UI to view existing partnerchain memberships
Evidence of milestone completion:
- Publicly available source-code containing off-chain / UI code
- Video showing how to interact with the UI
- On-chain transactions on Cardano show the corresponding interactions
Infrastructure Orchestration Layer
Milestone outputs:
- Substrate node provisioning script using Helm charts
- Custom Helm chart registry for partnerchains
- Metric scraping and storage mechanism
- Staging environment with example nodes
Acceptance criteria:
- An SPO is able to provision a Substrate partnerchain node using a Helm chart
- Health & activity metrics from a provisioned node are available for querying
Evidence of milestone completion:
- Publicly available source-code containing infrastructure scripts
- The Helm registry contains an example chart for a partnerchain
- Video showing a walkthrough of the running staging environment
Management & Discovery UI
Milestone outputs:
- UI for provisioning new Substrate node
- UI for monitoring running Substrate nodes
- UI for discovering available partnerchains
Acceptance criteria:
- An SPO is able to use the UI to provision a new partnerchain node
- An SPO is able to use the UI to monitor running nodes
- An SPO is able to use the UI to browse available partnerchains
Evidence of milestone completion:
- Publicly available source-code of the developed UI components
- Video showing a walkthrough of how to use the available UI
Packaging & Documentation
Milestone outputs:
- Stand-alone install package for the SuperNode
- Deployment scripts for each of the supported cloud providers (AWS, GCP, Azure)
- Documentation site with setup & usage instructions
Acceptance criteria:
- An SPO is able to install the SuperNode by following the docs
- An SPO is able to deploy the SuperNode to their accounts in supported cloud providers
- An SPO is able to operate the SuperNode by following the docs
Evidence of milestone completion:
- Publicly available source-code of deployment scripts
- Video showing a walkthrough of how to install the SuperNode
- Publicly available documentation site
Final Report
Milestone outputs:
- publicly available source-code of the complete system
- publicly available documentation site with setup & usage instructions
- a video showcasing the final output of the project
- a final report describing the project process and outcome
Acceptance criteria:
- the final system includes all features described in the proposal's scope
- the final video complies with Catalyst requirements
- the final report complies with Catalyst requirements
Evidence of milestone completion:
- Source-code available in the Github repository
- Public documentation site (URL TBD)
- Final video uploaded to Google drive
- Final report uploaded to Google drive
[RESOURCES] Who is in the project team and what are their roles?
The senior TxPipe members involved in this project will be:
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
FTE = Full-time equivalent
Total budget = ₳ 198,713
Software development:
- Rust developer: 1 FTE x 2 months = ₳ 51,429
- Aiken developer: 0.5 FTE x 2 months = ₳ 25,714
- Frontend Developer: 1 FTE x 2 months = ₳ 22,857
- Technical Writer: 1/2 FTE x 2 months = ₳ 8,571
UX Design:
- UX Designer: 0.5 FTE x 2 months = ₳ 8,571
Cloud Infrastructure:
- Site reliability engineer: 1 FTE x 3 months = ₳ 68,571
- Hosting: Staging infrastructure x 5 months = ₳ 2,286
Project Management:
- Project Manager: 1/4 FTE x 5 months = ₳ 10,714
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The bulk of the budget falls under the software development category. TxPipe has extensive experience in the field, allowing it to provide good value for money. The hourly rates are defined using fair market prices. The estimation for the level of effort takes into account all of the optimizations that our team is capable of providing after years of experience developing software solutions in the Cardano ecosystem.