IOHK官网博客:让我们深入了解卡尔达诺上运行的软件

image
原文来自IOHK Niamh Ahern, 由卡尔达诺大使陈哲Anson翻译

让我们来了解交互运行区块链平台的组件堆栈

卡尔达诺采用模块设计,带有可以以各种方式使用的链接组件。这些组件构成了卡尔达诺的“平台堆栈”。他们在幕后协同工作,以支持卡尔达诺区块链的实时构建和使用。

我们目前处于 Alonzo 硬分叉的早期测试网阶段,这将为卡尔达诺带来完整的智能合约功能。这个过程非常复杂,需要对构成 Cardano 平台的不同元素进行稳步升级,并对其进行仔细的整合和测试。因此,现在是重新审视这些组件、解释一些术语并了解它们如何在“平台堆栈”中交互的好时机。

Cardano 平台堆栈的元素

图 1. 与 Cardano 节点通信的组件

Cardano 的平台堆栈包括以下核心组件:

• Cardano 节点(和相关进程)

• 卡尔达诺钱包

• 钱包命令行界面 (CLI)

• DB Sync(将区块链数据与关系数据库同步)

• PostgreSQL 数据库(与 GraphQL、REST API 和 Smash 交互)

• Smash服务器

• Rosetta API(区块链通信协议)

请注意,代达罗斯钱包不是核心堆栈的一部分,但会与组件进行通信(图 1)。

节点和网络层

首先,我们来看看卡尔达诺节点。该软件在您的计算机上运行并支撑网络,使每个人都可以参与去中心化的区块链。该节点集成了共识、账本和网络子组件,提供可供其他 Cardano 组件或熟练用户使用的顶级配置、API、CLI、日志记录、内存管理和监控功能。 Daedalus 是一个全节点钱包,所以如果你在本地机器上运行它,你可以有效地帮助运行网络。

网络层

接下来我们看看网络层。这将每个 Cardano 节点连接到一个分布式系统中,该系统管理区块链和相关服务。该网络由一组节点组成,这些节点相互通信以维护分布式账本、支持交易提交以及与用户钱包和其他服务进行交互。网络的核心是围绕去中心化节点(即权益池)构建的,这些节点共同验证区块,并将新区块添加到链中。它们由管理网络连接并建立整个网络结构的专用中继节点提供支持。由 Daedalus 钱包和其他服务运行的专用消费者节点连接到该网络以跟踪和提交链上交易。

卡尔达诺节点与其对等节点保持连接,一组微型协议支持节点之间的通信。每个迷你协议都实现了基本的信息交换要求,例如通知对等方最新的区块,根据需要共享区块,或围绕 Cardano 网络共享新交易。出于连接目的,迷你协议由网络协议的版本决定。

卡尔达诺钱包后端

Cardano 钱包后端组件支持 Daedalus 钱包的图形用户界面。它用于发送和接收 ada。在幕后,钱包运行一个完整的卡尔达诺节点。与轻客户端钱包不同,它加载整个共享账本并验证所有交易,从而为每个人加强区块链的安全性。

钱包命令行界面 (CLI)

钱包命令行界面 (CLI) 支持与实际区块链的交互。技术含量更高的用户可以使用 CLI 来使用一系列工具来生成密钥、构建交易、创建证书和执行其他任务。它以子命令的层次结构组织,每个级别都有自己的命令语法和选项的内置文档。

数据库同步

DB Sync 是一个组件,它跟踪 Cardano 链上的活动并在 PostgreSQL 中存储块和交易。作为“中间”组件,它为 cardano-graphql 提供支持。 DB Sync 将从 Cardano 节点获取的区块链数据存储在中间数据库中,以便为区块链探索提供更高级别的接口。它还提供了许多从 PostgreSQL 获取 Cardano 区块链数据的查询,并支持 Cardano Explorer 等服务,这是一个以直接方式反映区块链数据的图形用户界面。 Cardano GraphQL 是 GraphQL 数据查询语言的跨平台 API。

Rosetta API

Rosetta 应用程序编程接口提供了一个高级接口,旨在使整合过程更容易、更快、更可靠,以便您可以构建一次并在任何地方整合您的区块链。我们创建了一个独特的 Cardano-rosetta 实现来简化与卡尔达诺的整合过程。该接口对于交易所特别有用,因为它们可以使用与其他区块链相同的接口来与 Cardano 链进行交互。

未来的期待

随着智能合约即将进入卡尔达诺,这意味着原生智能合约语言 Plutus 和其他智能合约开发语言(如用于金融的 Marlowe 和用于 DApps 的 Glow)将集成到卡尔达诺堆栈中。 IO Global 的工程师将提供新的和扩展的组件来编译 Plutus、Marlowe 和 Glow 脚本,将它们提交到链上并与之交互(图 2)。

image

图 2. Plutus、Marlowe、Glow、Solidity 和 IELE 均可用于编写 Cardano 智能合约

Alonzo 协议升级将建立在最近的代币升级基础上,并通过多个测试网部署到主网上。我们的 Plutus 合作伙伴和 Plutus Pioneers 将帮助我们测试 Plutus Core,并将成为主网部署之前用户接受阶段的一部分。此时我们将正式将 Plutus 和 Marlowe 组件(例如两个编译器)添加到 Cardano 的平台堆栈中。

要及时了解 Alonzo 的推出,请查看我们的社交渠道和博客页面。

原文链接:A close look at the software running Cardano - IOHK Blog