第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 代幣以參與網絡。
免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第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 代幣以參與網絡。
免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.