Lesson 3

在 Cartesi 上进行开发

Cartesi 开发环境让开发者能在 Linux 系统上使用熟悉的工具和编程语言。这不仅简化了复杂、可扩展的去中心化应用(dApps)的创建过程,还提供了强大的链下计算能力。

如何在 Cartesi 上进行开发

如前所述,开发者可以使用与常规软件开发相同的工具和语言在 Cartesi 上创建 dApps。

以下是开发者可以使用的一些主要工具:

基于 Linux 的工具

开发者可以使用任何 Linux 支持的编程语言(包括 C、C++ 和 Python)编写应用程序逻辑。Cartesi Machine 提供了一个熟悉的开发环境,可以使用标准的 Linux 编译器、调试器和库。

通过将完整的 Linux 操作系统集成到其虚拟机中,Cartesi 扩展了开发生态系统,包含了大量通常在传统区块链上无法访问的软件工具和库。这降低了精通常规软件开发但不熟悉区块链编程的开发者的入门门槛,同时也使得开发更复杂和功能丰富的 dApps 成为可能。开发者可以实现复杂的算法,使用高级数据处理技术,甚至在应用程序中运行 AI/ML 模型。

在 Cartesi 上开发的应用程序会被交叉编译以在 Cartesi Machine 的 RISC-V 架构上运行。交叉编译确保应用程序可以在 Cartesi Machine 的确定性环境中执行,保持兼容性和性能。

开发过程本身通常涉及使用 Docker 来容器化 Cartesi Machine,允许开发者隔离他们的应用程序并确保不同开发阶段的一致性。这有助于管理依赖关系并维护受控环境。

智能合约集成

Cartesi Machine 上运行的应用程序逻辑与链上智能合约进行交互。这些智能合约主要负责三项任务:触发链下计算、处理数据输入,以及将计算结果锚定回区块链。开发者的关键任务是设计高效的智能合约,以妥善管理这些交互过程,从而确保整个系统的安全性和完整性。

Cartesi 推崇模块化设计,将计算密集型任务与链上逻辑分离。这使开发者能够专注于编写高效的智能合约,同时将资源密集型操作委托给 Cartesi Machine 处理。

Cartesi 的创新

可扩展的链下计算

Cartesi 的链下计算模型允许 dApps 在不增加区块链负担的情况下处理大规模计算,这对于模拟、数据分析或科学计算等需要大量处理能力的应用非常有用。

尽管计算是在链下进行的,但 Cartesi 通过加密证明和争议解决机制确保计算结果的安全性。这种方法可确保链下计算与链上操作一样值得信赖。

数据可用性和管理

Cartesi 通过可扩展且经济高效的方式管理数据,支持那些需要临时访问大量数据的应用程序,避免了链上存储带来的高昂成本。

Noether 的去中心化架构确保数据可用性不受单一方控制,降低了数据篡改或丢失的风险。这有助于维护链下数据的完整性和可用性,尤其是在去中心化应用程序中。

如何开始在 Cartesi 上开发

开发者可以通过设置 Cartesi Machine(在 RISC-V 架构上运行 Linux 操作系统)开始在 Cartesi 上构建。过程包括:

  • 环境设置:安装 Docker 和 Python 3,这对运行 Cartesi dApp 示例至关重要。
  • 使用 Cartesi Rollups:使用 Cartesi Rollups 为每个 dApp 创建专用环境,允许使用完整的 Linux 操作系统进行链下计算。
  • 编写代码:使用传统编程语言(如 Python 和 C++)开发应用程序,避免需要学习专门的区块链语言。
  • 测试和部署:在部署到区块链之前,在 Cartesi Machine 环境中本地测试应用程序,其中智能合约锚定链下计算的结果。

在 Cartesi 上开发的优势

  • 熟悉的开发环境:使用主流编程语言和工具,减少学习特定于区块链开发的新语言的需求。
  • 可扩展性:链下计算减轻了区块链的负担,允许更可扩展和复杂的 dApps。
  • 互操作性:Cartesi 与多个区块链兼容,为 dApp 选择底层区块链提供了灵活性。
  • 复杂应用支持:Cartesi 支持开发需要复杂文件系统、数据库和机器学习模型的复杂 dApps。

劣势

  • 学习曲线:对于不熟悉 Docker、Linux 或 Cartesi 特定环境的开发者来说,可能存在学习曲线。
  • 对链下计算的依赖:严重依赖链下计算可能在确保数据可用性和安全性方面带来挑战。
  • 生态系统成熟度:Cartesi 的生态系统仍在增长,与更成熟的平台相比,可能会限制可用资源和社区支持。

开发者成本

  • 开发成本:Cartesi 可以通过使用现有工具和库来降低开发成本。
  • 交易费用:开发者使用 Cartesi 的服务和与区块链交互时需要支付 CTSI(Cartesi 的原生代币)作为交易费用。由于链下计算模型,这些费用通常较低。
  • 质押成本:开发者可能需要质押 CTSI 代币来参与网络或确保数据可用性和计算完整性。具体质押要求取决于其应用程序的特性。

亮点

  • 基于 Linux 的工具:开发者在 Linux 操作系统上使用传统编程语言(如 Python 和 C++),降低了区块链开发新手的入门门槛。
  • 智能合约集成:在 Cartesi 上构建的应用程序能够高效地与智能合约交互,管理链下计算和数据锚定到链上。
  • 计算创新:Cartesi 支持可扩展的链下计算,并通过加密证明确保安全和可验证的结果。
  • 入门:开发者通过设置 Cartesi Machine 和使用 Cartesi Rollups 开始,以促进 dApps 的开发和部署。
  • 优势和成本:Cartesi 提供可扩展性、互操作性和降低开发成本,但需要熟悉其特定环境,并可能涉及质押 CTSI 代币以参与网络。
Disclaimer
* Crypto investment involves significant risks. Please proceed with caution. The course is not intended as investment advice.
* The course is created by the author who has joined Gate Learn. Any opinion shared by the author does not represent Gate Learn.
Catalog
Lesson 3

在 Cartesi 上进行开发

Cartesi 开发环境让开发者能在 Linux 系统上使用熟悉的工具和编程语言。这不仅简化了复杂、可扩展的去中心化应用(dApps)的创建过程,还提供了强大的链下计算能力。

如何在 Cartesi 上进行开发

如前所述,开发者可以使用与常规软件开发相同的工具和语言在 Cartesi 上创建 dApps。

以下是开发者可以使用的一些主要工具:

基于 Linux 的工具

开发者可以使用任何 Linux 支持的编程语言(包括 C、C++ 和 Python)编写应用程序逻辑。Cartesi Machine 提供了一个熟悉的开发环境,可以使用标准的 Linux 编译器、调试器和库。

通过将完整的 Linux 操作系统集成到其虚拟机中,Cartesi 扩展了开发生态系统,包含了大量通常在传统区块链上无法访问的软件工具和库。这降低了精通常规软件开发但不熟悉区块链编程的开发者的入门门槛,同时也使得开发更复杂和功能丰富的 dApps 成为可能。开发者可以实现复杂的算法,使用高级数据处理技术,甚至在应用程序中运行 AI/ML 模型。

在 Cartesi 上开发的应用程序会被交叉编译以在 Cartesi Machine 的 RISC-V 架构上运行。交叉编译确保应用程序可以在 Cartesi Machine 的确定性环境中执行,保持兼容性和性能。

开发过程本身通常涉及使用 Docker 来容器化 Cartesi Machine,允许开发者隔离他们的应用程序并确保不同开发阶段的一致性。这有助于管理依赖关系并维护受控环境。

智能合约集成

Cartesi Machine 上运行的应用程序逻辑与链上智能合约进行交互。这些智能合约主要负责三项任务:触发链下计算、处理数据输入,以及将计算结果锚定回区块链。开发者的关键任务是设计高效的智能合约,以妥善管理这些交互过程,从而确保整个系统的安全性和完整性。

Cartesi 推崇模块化设计,将计算密集型任务与链上逻辑分离。这使开发者能够专注于编写高效的智能合约,同时将资源密集型操作委托给 Cartesi Machine 处理。

Cartesi 的创新

可扩展的链下计算

Cartesi 的链下计算模型允许 dApps 在不增加区块链负担的情况下处理大规模计算,这对于模拟、数据分析或科学计算等需要大量处理能力的应用非常有用。

尽管计算是在链下进行的,但 Cartesi 通过加密证明和争议解决机制确保计算结果的安全性。这种方法可确保链下计算与链上操作一样值得信赖。

数据可用性和管理

Cartesi 通过可扩展且经济高效的方式管理数据,支持那些需要临时访问大量数据的应用程序,避免了链上存储带来的高昂成本。

Noether 的去中心化架构确保数据可用性不受单一方控制,降低了数据篡改或丢失的风险。这有助于维护链下数据的完整性和可用性,尤其是在去中心化应用程序中。

如何开始在 Cartesi 上开发

开发者可以通过设置 Cartesi Machine(在 RISC-V 架构上运行 Linux 操作系统)开始在 Cartesi 上构建。过程包括:

  • 环境设置:安装 Docker 和 Python 3,这对运行 Cartesi dApp 示例至关重要。
  • 使用 Cartesi Rollups:使用 Cartesi Rollups 为每个 dApp 创建专用环境,允许使用完整的 Linux 操作系统进行链下计算。
  • 编写代码:使用传统编程语言(如 Python 和 C++)开发应用程序,避免需要学习专门的区块链语言。
  • 测试和部署:在部署到区块链之前,在 Cartesi Machine 环境中本地测试应用程序,其中智能合约锚定链下计算的结果。

在 Cartesi 上开发的优势

  • 熟悉的开发环境:使用主流编程语言和工具,减少学习特定于区块链开发的新语言的需求。
  • 可扩展性:链下计算减轻了区块链的负担,允许更可扩展和复杂的 dApps。
  • 互操作性:Cartesi 与多个区块链兼容,为 dApp 选择底层区块链提供了灵活性。
  • 复杂应用支持:Cartesi 支持开发需要复杂文件系统、数据库和机器学习模型的复杂 dApps。

劣势

  • 学习曲线:对于不熟悉 Docker、Linux 或 Cartesi 特定环境的开发者来说,可能存在学习曲线。
  • 对链下计算的依赖:严重依赖链下计算可能在确保数据可用性和安全性方面带来挑战。
  • 生态系统成熟度:Cartesi 的生态系统仍在增长,与更成熟的平台相比,可能会限制可用资源和社区支持。

开发者成本

  • 开发成本:Cartesi 可以通过使用现有工具和库来降低开发成本。
  • 交易费用:开发者使用 Cartesi 的服务和与区块链交互时需要支付 CTSI(Cartesi 的原生代币)作为交易费用。由于链下计算模型,这些费用通常较低。
  • 质押成本:开发者可能需要质押 CTSI 代币来参与网络或确保数据可用性和计算完整性。具体质押要求取决于其应用程序的特性。

亮点

  • 基于 Linux 的工具:开发者在 Linux 操作系统上使用传统编程语言(如 Python 和 C++),降低了区块链开发新手的入门门槛。
  • 智能合约集成:在 Cartesi 上构建的应用程序能够高效地与智能合约交互,管理链下计算和数据锚定到链上。
  • 计算创新:Cartesi 支持可扩展的链下计算,并通过加密证明确保安全和可验证的结果。
  • 入门:开发者通过设置 Cartesi Machine 和使用 Cartesi Rollups 开始,以促进 dApps 的开发和部署。
  • 优势和成本:Cartesi 提供可扩展性、互操作性和降低开发成本,但需要熟悉其特定环境,并可能涉及质押 CTSI 代币以参与网络。
Disclaimer
* Crypto investment involves significant risks. Please proceed with caution. The course is not intended as investment advice.
* The course is created by the author who has joined Gate Learn. Any opinion shared by the author does not represent Gate Learn.