使用Demeter简化 Cardano DApp开发

Simplifying Cardano DApp development with Demeter (cardanofoundation.org)

鉴于管理各个卡尔达诺组件所需的区块链工程专业知识,开始使用该网络可能具有挑战性。 当开发人员希望避免使用集中式解决方案或管理基础设施时,这种动态就变得尤其如此。 对于这些开发者来说,卡尔达诺基金会认识到 Demeter 的价值以及它如何促进生态系统的采用和增长。

Demeter 是一个软件平台,旨在简化 Cardano 生态系统内的开发流程,并使构建去中心化应用程序 (DApp) 更加适合开发人员。 作为一款一体化解决方案,Demeter 使开发人员能够轻松快速地部署测试网和主网环境。

建立在卡尔达诺网络上
从更广泛的意义上来说,Demeter 的目标是消除那些希望在卡尔达诺上启动应用程序的人的进入壁垒。 因此,基金会向 Demeter 背后的公司 TxPipe 提供了一次性资助。 这笔赠款将补贴免费套餐,该套餐提供对 Demeter 平台的有限访问。 具体来说,该层将允许访问:

配置用于预览、预生产或(后续)主网网络的卡尔达诺节点;
生态系统中的各种开发工具,例如 Ogmios、cardano-db-sync、Scrolls、Oura、Kupo 和 Hydra;
具有适用于各种用例的入门套件的工作区(例如,使用 Haskell、Aiken、Helios 等进行 Plutus 开发)以及用于快速引导新项目的即用型模板。
通过这次合作,基金会打算解决与在卡尔达诺区块链上开发应用程序相关的一些挑战,即新开发人员的入职。

入职复杂性
卡尔达诺在核心组件方面遵循简约的方法。 例如,卡尔达诺节点仅执行确保网络性能所需的操作。 具体来说,节点仅存储跟踪和验证链所需的信息。 因此,许多职责都被推到了客户端应用程序中。 这种方法旨在保持核心组件的维护合理,同时允许生态系统并行开发必要的模块化解决方案。 然而,对于卡尔达诺新用户来说,这种动态可能会变得难以承受,因为开发需要同时使用多种工具。 从链索引器、钱包、交易构建器、链观察者和探索者,存在无数的工具,一旦正确编排,几乎可以解决任何问题。

卡尔达诺开发环境中的一些典型工具包括:

卡尔达诺节点
卡尔达诺数据库同步
卡尔达诺提交 API
卡尔达诺钱包
卡尔达诺图QL
奥格米奥斯
库波
九头蛇
马洛
库贝尔
鉴于模块的多样性,像 Demeter 这样的平台在帮助开发人员开始使用 Cardano 方面变得特别有用。 具体来说,Demeter 使这些组件的编排和部署变得简单。 这种动态可实现无缝集成,鼓励卡尔达诺生态系统内的创新。

基础设施与开发商比率
除了启动过程之外,卡尔达诺开发环境中的典型基础设施组件还需要大量资源才能运行,例如 CPU、内存和磁盘存储。 如果我们考虑到,在开发过程中,开发人员可能需要连接到多个卡尔达诺网络,例如预览版、预生产版、主网等,那么资源需求可能会令某些开发人员望而却步——即使是那些使用强大机器的开发人员。 每次还必须同步各个网络的数据,使得建立开发环境变得特别麻烦。

存在一些标准技术来缓解该问题,例如,使用可以在不活动期间暂停的容器化工作负载。 这些解决方法虽然有效,但提供了部分解决方案,并且通常需要手动单独配置和连接各个部分。

更好地利用资源是在多个开发人员之间共享这些基础设施组件的实例。 基础设施和开发商之间的关系应该遵循1:N的比例,基础设施的运行成本由多个参与者分摊。 作为基于云的解决方案,Demeter 使多个参与者能够分担基础设施成本,从而鼓励更多开发者加入 Cardano 生态系统。 这种动态促进了一个充满活力和可持续发展的开发者社区,推动创新和增长,同时最大限度地减少个人开发者的经济负担。

多种技术堆栈
区块链开发涉及多个学科:前端开发、后端开发、智能合约开发等等。 尽管 Cardano 的大部分核心开发仍然高度以 Haskell 为中心,但引入不同编程语言和框架的趋势已经很明显。 事实上,许多完善的库和生态系统都存在于 Rust、Java、Go 或 C# 等替代语言中。 随着新的技术的出现,这种趋势在链上也很明显。

Aiken 或 Helios 等编程平台为 Haskell 提供了令人信服的替代方案。

Demeter 提供了一个统一平台,整合这些生态系统的资源和工具。 这种动态简化了开发,使不同堆栈的开发人员更容易访问和更高效,为在卡尔达诺上进行构建营造了一个有凝聚力和协作的环境。

沙盒学习环境
卡尔达诺的大规模采用还需要吸引当前生态系统之外的开发人员,满足最先进的期望,并为开发人员提供适当的测试环境。 支持在几分钟内启动的临时、功能齐全的沙箱环境,为开发人员提供了一种尝试动手项目的机制,展示其系统的功能。

Demeter 旨在采用类似的策略,提供支持沙箱或测试网环境的扩展,使开发人员能够完善和验证他们的项目,而无需自行管理基础设施。 准备就绪后,他们可以继续将其托管在 Demeter 上,或将其设置导出为 Terraform 或 Kubernetes 配置——这两种广泛使用的基础设施管理技术。

低级平台即服务 (PaaS)
许多卡尔达诺生态系统服务提供基于网络的 API,以促进高级抽象的区块链交互(例如,Blockfrost、Koios、GoMaestro 等)。 这些服务消除了与底层组件交互的复杂性。 然而,致力于微调性能的项目或那些在工作流程中需要更大灵活性的项目也需要较低级别的访问权限,包括:

直接访问 Ouroboros 节点到节点和节点到客户端迷你协议;
直接访问 Ogmios WebSocket 和 HTTP 端点;
直接访问cardano-submit-api的HTTP端点;
直接 PostgreSQL 访问cardano-db-sync 数据;
直接访问 Kupo 的 HTTP 端点
一些区块链协议提供不同抽象级别的服务,包括高级 API 抽象和低级协议端点。 例如,提供“节点即服务”的解决方案已经变得普遍。 同样,Demeter 为开发人员提供了在适合其需求的抽象级别上工作的灵活性,无论他们需要简化的接口还是更深层次的协议访问。 这种灵活性可以增强卡尔达诺生态系统的吸引力和可用性,吸引更全面的开发人员和用例。

Demeter 的技术描述
Demeter 提供按集群组织的云环境。 集群代表一组计算资源和工具,不同的项目可以以受控和测量的方式同时使用这些资源和工具。 集群本质上是有弹性的,这意味着它们在需要时自动获取更多资源,并在空闲时收缩。

Demeter 项目被定义为一个或多个开发人员与集群交互以构建和部署 Cardano DApp。 在每个集群上,开发人员可以启用各种扩展来访问不同的有用服务,例如:

Cardano 节点:Cardano 节点的完全同步、托管版本,可以使用 Ouroboros 迷你协议通过专用网络进行访问。
Cardano DB-Sync:cardano-db-sync 的托管版本。 可以通过对高可用 PostgreSQL 实例的直接 SQL 访问来检索数据。
Cardano Ogmios:Ogmios 的高可用实例,可以通过 WebSocket 或 HTTP 直接访问。
Cardano Submit API:cardano-submit-api 的私有、负载平衡实例,可以通过 HTTP 直接访问以提交序列化的 Cardano 交易。
Cardano Oura Webhooks:允许开发人员创建自动化的事件驱动操作,以响应由 Oura 提供支持的 Cardano 区块链事件。
Cardano Kupo:Cardano 区块链的轻量级且可配置的链索引以及开发人员友好的 HTTP API。
Cardano Blockfrost RYO:Blockfrost API 的自托管实例,提供通往 Cardano 区块链的真正网关。
Cardano Kuber:用于构建和撰写 Cardano 交易的 Haskell 库和 API 服务。
Cardano Hydra 节点:一个自托管 Hydra 节点,配有终端用户界面和有用的仪表板,可简化 Hydra 头的创建和管理。
Marlowe Runtime:支持在卡尔达诺区块链上执行 Marlowe 智能合约。
这种综合工具通过简化统一平台内的开发来支持卡尔达诺生态系统。 从技术角度来说,Demeter 简化了对区块链数据和服务的访问,同时允许强大的测试环境。

为了配合基金会对对生态系统做出重大贡献的项目的支持,特别是那些能够对未来产生巨大影响的项目,我们决定与 TxPipe 合作,并为生态系统提供免费的 Demeter 层。 通过以这种方式构建基金会的资助,我们的目标是帮助 TxPipe 接触到更广泛的奥迪扩大卡尔达诺网络的吸引力,并推动整个生态系统的创新。

衡量合作伙伴关系的影响
自 TxPipe 于 2023 年 6 月 21 日在欧盟地区启用免费集群以来,多个用户指标显示出显着增长。 值得注意的是,八月份:

386 位新用户注册
创建了 452 个项目
向新用户提供了 317 笔赠款*
创建了 108 个工作区
此外,九月:

446 位新用户注册
创建了 525 个项目
向新用户提供了 391 笔赠款*
创建了 114 个工作区
随着免费参与于 9 月 30 日完成,基金会现在将审查其总体影响,旨在确定赠款的有效性。 如果这些发现表明用户数量不断增长,则可能存在与 TxPipe 合作开展未来采用计划的更多机会。

*由卡尔达诺基金会赞助(每个新用户仅收到他们创建的第一个项目的赠款)。