Simplifying Cardano DApp development with Demeter
An all-in-one solution that enables developers to easily and quickly deploy testnet and mainnet environments
Given the blockchain engineering expertise required to manage individual Cardano components, getting started on the network can prove challenging. This dynamic becomes especially true when developers want to refrain from utilizing centralized solutions or managing infrastructure. For those developers, the Cardano Foundation recognizes the value of Demeter and how it can foster ecosystem adoption and growth.
Demeter is a software platform built to streamline the development process within the Cardano ecosystem and make building decentralized applications (DApps) more developer-friendly. As an all-in-one solution, Demeter enables developers to easily and quickly deploy testnet and mainnet environments.
Building on the Cardano Network
In a broader sense, Demeter aims to remove barriers to entry for those looking to launch applications on Cardano. As such, the Foundation has provided TxPipe, the company behind Demeter, with a one-time grant. This grant will subsidize a free tier that offers limited access to the Demeter platform. Specifically, this tier will enable access to:
- •a Cardano Node configured for preview, pre-prod, or (later) mainnet networks;
- •various developer tools from the ecosystem, such as Ogmios, cardano-db-sync, Scrolls, Oura, Kupo, and Hydra;
- •workspaces with starter-kits for various use cases (e.g., Plutus development with Haskell, Aiken, Helios, etc.) with ready-to-use templates used for quickly bootstrapping new projects.
Through this engagement, the Foundation intends to address some of the challenges associated with developing applications on the Cardano blockchain—namely, onboarding new developers.
Onboarding Complexity
Cardano follows a minimalistic approach when it comes to core components. For example, the Cardano node is meant to only do what is necessary to ensure network performance. Specifically, the node only stores information required to follow and validate the chain. For this reason, many responsibilities get pushed into client applications. This approach aims to keep the maintenance of core components reasonable while allowing the ecosystem to develop necessary modular solutions in parallel. However, for new Cardano users, this dynamic can become overwhelming as development requires the simultaneous use of multiple tools. From chain indexers, wallets, transaction builders, chain watchers, and explorers, a myriad of tools exist that, once properly orchestrated, can solve practically any problem.
Some typical tools found in a Cardano development environment include:
- •cardano-node
- •cardano-db-Sync
- •cardano-submit-API
- •cardano-wallet
- •cardano-graphQL
- •Ogmios
- •Kupo
- •Hydra
- •Marlowe
- •Kuber
Given the diversity of modules, platforms like Demeter become particularly useful in helping developers get started with Cardano. Specifically, Demeter makes the orchestration and deployment of these components simple. This dynamic enables seamless integrations, encouraging innovation within the Cardano ecosystem.
Infrastructure to Developer Ratio
In addition to the startup process, the typical infrastructure components found in a Cardano development environment require significant resources to function, such as CPU, memory, and disk storage. If we consider that, during the development process, a developer might need to connect to several Cardano networks, like preview, preprod, mainnet, etc., the resource requirements can become prohibitive for some developers—even those using powerful machines. Data must also be synchronized from every network each time, making establishing a development environment particularly cumbersome.
Some standard techniques exist to mitigate the problem, for example, using containerized workloads that can be paused during periods of inactivity. Although valid, these workarounds offer partial solutions and often require configuring and connecting pieces manually and individually.
A better use of resources would be to share instances of these infrastructure components among several developers. The relation between infrastructure and developers should follow a ratio of 1:N, with the cost of running the infrastructure divided among several participants. As a cloud-based solution, Demeter enables multiple participants to share the cost of infrastructure, which encourages more developers to join the Cardano ecosystem. This dynamic promotes a vibrant and sustainable developer community, driving innovation and growth while minimizing the financial burden on individual developers.
Multiple Tech Stacks
Blockchain development involves multiple disciplines: frontend development, backend development, smart contract development, and more. Although most of the core Cardano development remains highly Haskell-centric, a tendency toward introducing different programming languages and frameworks is already noticeable. In fact, many well-furnished libraries and ecosystems exist in alternative languages such as Rust, Java, Go, or C#. This trend is also visible on-chain with the advent of new programming platforms such as Aiken or Helios, which offer compelling alternatives to Haskell.
Demeter provides a unified platform that consolidates resources and tools for those ecosystems. This dynamic streamlines development, making it more accessible and efficient for developers across different stacks, fostering a cohesive and collaborative environment for building on Cardano.
Sandbox Learning Environments
Large-scale adoption of Cardano also entails attracting developers outside the present ecosystem, addressing state-of-the-art expectations, and furnishing developers with appropriate testing environments. Supporting temporary, fully-capable sandbox environments that spin up in a few minutes provides developers with a mechanism to experiment with hands-on projects, showcasing the capabilities of their system.
Demeter aims to adopt a similar strategy, supplying extensions that support sandbox or testnet environments, enabling developers to refine and validate their projects without the burden of managing the infrastructure themselves. Once ready, they can keep hosting it on Demeter or export their setup as Terraform or Kubernetes configurations—two widely used technologies for managing infrastructure.
Low-Level Platform as a Service (PaaS)
Many Cardano ecosystem services offer web-based APIs to facilitate blockchain interactions at a high-level abstraction (e.g., Blockfrost, Koios, GoMaestro, etc.). These services eliminate the complexity of interacting with the underlying layer of components. However, projects working on fine-tuning performance or those that require more flexibility in their workflows would also require lower-level access, including:
- •direct access to the Ouroboros Node-to-Node & Node-to-Client mini-protocols;
- •direct access to Ogmios WebSocket & HTTP endpoints;
- •direct access to the cardano-submit-api’s HTTP endpoints;
- •direct PostgreSQL access to cardano-db-sync data;
- •direct access to Kupo’s HTTP endpoints
Some blockchain protocols provide services at different levels of abstraction, both high-level API abstraction and low-level protocol endpoints. For example, solutions that provide “nodes as a service” have become common. Similarly, Demeter offers developers the flexibility to work at the level of abstraction that suits their needs, whether they require a simplified interface or deeper protocol access. This flexibility can enhance the Cardano ecosystem's appeal and usability, attracting a more comprehensive range of developers and use cases.
A technical description of Demeter
Demeter provides cloud environments organized by cluster. A cluster represents a group of computational resources and tools that different projects can consume simultaneously in a controlled and measured fashion. Clusters are elastic by nature, meaning they acquire more resources automatically when needed and shrink during idle times.
A Demeter project is defined as one or more developers interacting with the cluster to build and deploy a Cardano DApp. On each cluster, developers can enable a variety of extensions to access different useful services, such as:
- •Cardano Nodes: fully-synced, managed versions of the Cardano Node that can be accessed through a private network using Ouroboros mini-protocols;
- •Cardano DB-Sync: a managed version of cardano-db-sync. Data can be retrieved through direct SQL access to highly available PostgreSQL instances;
- •Cardano Ogmios: highly available instances of Ogmios that can be accessed directly through WebSocket or HTTP;
- •Cardano Submit API: private, load-balanced instances of the cardano-submit-api that can be accessed directly via HTTP for submitting serialized Cardano transactions;
- •Cardano Oura Webhooks: allows developers to create automated event-driven actions in response to Cardano blockchain events powered by Oura;
- •Cardano Kupo: a lightweight and configurable chain-index for the Cardano blockchain alongside a developer-friendly HTTP API;
- •Cardano Blockfrost RYO: a self-hosted instance of the Blockfrost API, providing a real gateway to the Cardano blockchain;
- •Cardano Kuber: Haskell library and API service for building and composing Cardano transactions;
- •Cardano Hydra Node: a self-hosted Hydra node alongside a terminal-user interface and useful dashboard to simplify the creation and management of Hydra heads;
- •Marlowe Runtime: enables the execution of Marlowe smart contracts on the Cardano blockchain.
This comprehensive tooling supports the Cardano ecosystem by streamlining development within a unified platform. In technical terms, Demeter simplifies access to blockchain data and services while allowing for robust testing environments.
In keeping with the Foundation’s support of projects that significantly contribute to the ecosystem, especially those that can have ample future impact, we decided to collaborate with TxPipe and give the ecosystem access to a free Demeter tier. By structuring the Foundation’s grant in this way, we aim to help TxPipe reach a wider audience, broaden the appeal of the Cardano network, and drive innovation across the ecosystem.
Measuring the partnership impact
Since TxPipe enabled a free-tier cluster in the EU region on 21 June 2023, several user metrics have shown significant growth. Notably, in August:
- •386 new users signed up
- •452 projects were created
- •317 grants were given to new users*
- •108 workspaces were created
Additionally, in September:
- •446 new users signed up
- •525 projects were created
- •391 grants were given to new users*
- •114 workspaces were created
With the free-tier engagement complete as of 30 September, the Foundation will now review its overall impact, aiming to determine the effectiveness of the grant. Should these findings indicate growing usership, additional opportunities may exist to work alongside TxPipe on future adoption initiatives.