Lesson 3

Cartesi での開発

Cartesiの開発環境は、Linuxシステムでお馴染みのツールやプログラミング言語を使用することができるため、複雑でスケーラブルな分散型アプリケーション(dApps)の作成プロセスが簡素化され、強力なオフチェーン計算能力が提供されます。

Cartesiでの開発方法

前述したように、開発者は通常のソフトウェア開発と同じツールと言語を使用してCartesiでdAppsを作成できます。

以下是開發人員可以使用的一些主要工具:

Linuxベースのツール

開発者は、C、C++、Pythonを含む、Linuxでサポートされているプログラミング言語を使用して、アプリケーションロジックを書くことができます。Cartesi Machineは、標準のLinuxコンパイラ、デバッガ、ライブラリを使用した、馴染みのある開発環境を提供しています。

完全なLinuxオペレーティングシステムを仮想マシンに統合することで、Cartesiは、通常のブロックチェーンではアクセスできない多数のソフトウェアツールやライブラリを含む開発エコシステムを拡張します。これにより、一般的なソフトウェア開発に精通しているがブロックチェーンプログラミングには慣れていない開発者のエントリーレベルを下げると同時に、より複雑で機能豊富なdAppsの開発が可能になります。開発者は、高度なデータ処理技術を使用して複雑なアルゴリズムを実装したり、AI/MLモデルをアプリケーション内で実行したりすることができます。

Cartesi上で開発されたアプリケーションは、CartesiマシンのRISC-Vアーキテクチャでクロスコンパイルされ、実行されます。クロスコンパイルにより、アプリケーションはCartesiマシンの決定論的環境で実行され、互換性とパフォーマンスが維持されます。

開発プロセス自体では、多くの場合、Dockerを使用してCartesi Machineをコンテナ化することで、開発者はアプリケーションを分離し、開発のさまざまな段階で一貫性を確保できます。 これにより、依存関係を管理し、制御された環境を維持できます。

スマートコントラクトの統合

Cartesi Machine上で動作するアプリケーションロジックは、オンチェーンのスマートコントラクトと相互作用します。 これらのスマートコントラクトは、オフチェーン計算のトリガー、データ入力の処理、計算結果をブロックチェーンに固定するという3つの主要なタスクを担当します。 開発者にとって重要なタスクは、これらの相互作用を適切に管理し、システム全体のセキュリティと整合性を確保する効率的なスマートコントラクトを設計することです。

Cartesiは、計算負荷の高いタスクをオンチェーンロジックから分離するモジュール設計を信じています。 これにより、開発者は効率的なスマートコントラクトの作成に集中しながら、リソースを大量に消費する操作をCartesi Machineに委任できます。

Cartesiのイノベーション

拡張可能なオフチェーン計算

Cartesiのオフチェーン計算モデルは、ブロックチェーンの負荷を増やさずに大規模な計算を処理するdAppsに非常に役立ちます。これは、シミュレーション、データ分析、科学計算など、高い処理能力が必要なアプリケーションにとって非常に有用です。

計算はオフチェーンで行われますが、Cartesiは暗号証明と紛争解決メカニズムにより計算結果の安全性を保証します。この方法により、オフチェーンの計算もチェーン上の操作と同じ信頼性があります。

データの可用性と管理

Cartesiは、スケーラブルで費用対効果の高い方法でデータを管理し、オンチェーンストレージの高コストをかけずに、大量のデータへのアドホックなアクセスを必要とするアプリケーションをサポートします。

Noetherの分散型アーキテクチャは、データの利用可能性が単一のエンティティによって制御されないことを保証し、データの改ざんや喪失のリスクを低減します。これは特に分散型アプリケーションにおいて、オフチェーンデータの完全性と利用可能性を維持するのに役立ちます。

Cartesiでの開発を開始する方法

開発者は、Cartesi上でCartesiマシン(RISC-Vアーキテクチャ上でLinuxオペレーティングシステムを実行する)を設定することで、Cartesi上で構築を開始することができます。手順には次のものが含まれます:

  • 環境設定:Cartesi dAppのサンプルを実行するために、DockerとPython 3をインストールする必要があります。
  • Cartesiロールアップの使用:Cartesi Rollupsを使用して、各dAppに専用の環境を作成し、完全なLinuxオペレーティングシステムを使用してオフチェーン計算を実行することができます。
  • コードを書く:従来のプログラミング言語(PythonやC++など)を使用してアプリケーションを開発することで、専用のブロックチェーン言語を学ぶ必要を避けることができます。
  • テストとデプロイ:スマートコントラクトがオフチェーン計算の結果を固定するブロックチェーンにデプロイする前に、Cartesi Machine環境でアプリケーションをローカルにテストします。

Cartesiでの開発の利点

  • 馴染みのある開発環境:主要なプログラミング言語とツールを使用することで、ブロックチェーン開発に特化した新しい言語を学ぶ必要性を減らすことができます。
  • 拡張性:オフチェーン計算は、ブロックチェーンの負担を軽減し、よりスケーラブルで複雑なdAppsを可能にします。
  • 相互運用性:Cartesiは複数のブロックチェーンと互換性があり、dAppが選択する基盤ブロックチェーンに柔軟性を提供しています。
  • 複雑なアプリケーションのサポート:Cartesiは、複雑なdAppsの開発に必要な複雑なファイルシステム、データベース、および機械学習モデルをサポートしています。

劣勢

  • 学習曲線:Docker、Linux、またはCartesiの特定の環境に精通していない開発者にとって、学習曲線が存在する可能性があります。
  • オフチェーン計算への依存:オフチェーン計算に大きく依存すると、データの可用性とセキュリティを確保する上で課題が生じる可能性があります。
  • エコシステムの成熟度:Cartesiのエコシステムはまだ成長中であり、より成熟したプラットフォームと比較して、利用可能なリソースとコミュニティのサポートが制限される可能性があります。

開発者コスト

  • 開発コスト:Cartesiは既存のツールやライブラリを使用して開発コストを削減することができます。
  • 取引手数料:Cartesiのサービスとブロックチェーンとの相互作用を行う開発者は、取引手数料としてCTSI(Cartesiのネイティブトークン)を支払う必要があります。オフチェーン計算モデルにより、これらの費用は通常低くなります。
  • ステーキの費用:開発者は、ネットワークに参加したり、データの可用性や計算の整合性を確保したりするために、CTSIトークンをステークする必要があるかもしれません。 具体的なステーキング要件は、アプリケーションの特性によって異なります。

ハイライト

  • Linuxベースのツール:開発者は、従来のプログラミング言語(PythonやC ++など)をLinuxオペレーティングシステムで使用することにより、ブロックチェーン開発初心者の敷居を下げることができます。
  • スマートコントラクトの統合:Cartesi上で構築されたアプリケーションは、スマートコントラクトと効率的に対話し、オフチェーンの計算およびデータをチェーンにアンカーすることができます。
  • 革新的な計算:Cartesiはスケーラブルなオフチェーン計算をサポートし、暗号化された証明によって安全で検証可能な結果を保証します。
  • 入門:開発者は、Cartesiマシンの設定とCartesiロールアップの使用により、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ベースのツール

開発者は、C、C++、Pythonを含む、Linuxでサポートされているプログラミング言語を使用して、アプリケーションロジックを書くことができます。Cartesi Machineは、標準のLinuxコンパイラ、デバッガ、ライブラリを使用した、馴染みのある開発環境を提供しています。

完全なLinuxオペレーティングシステムを仮想マシンに統合することで、Cartesiは、通常のブロックチェーンではアクセスできない多数のソフトウェアツールやライブラリを含む開発エコシステムを拡張します。これにより、一般的なソフトウェア開発に精通しているがブロックチェーンプログラミングには慣れていない開発者のエントリーレベルを下げると同時に、より複雑で機能豊富なdAppsの開発が可能になります。開発者は、高度なデータ処理技術を使用して複雑なアルゴリズムを実装したり、AI/MLモデルをアプリケーション内で実行したりすることができます。

Cartesi上で開発されたアプリケーションは、CartesiマシンのRISC-Vアーキテクチャでクロスコンパイルされ、実行されます。クロスコンパイルにより、アプリケーションはCartesiマシンの決定論的環境で実行され、互換性とパフォーマンスが維持されます。

開発プロセス自体では、多くの場合、Dockerを使用してCartesi Machineをコンテナ化することで、開発者はアプリケーションを分離し、開発のさまざまな段階で一貫性を確保できます。 これにより、依存関係を管理し、制御された環境を維持できます。

スマートコントラクトの統合

Cartesi Machine上で動作するアプリケーションロジックは、オンチェーンのスマートコントラクトと相互作用します。 これらのスマートコントラクトは、オフチェーン計算のトリガー、データ入力の処理、計算結果をブロックチェーンに固定するという3つの主要なタスクを担当します。 開発者にとって重要なタスクは、これらの相互作用を適切に管理し、システム全体のセキュリティと整合性を確保する効率的なスマートコントラクトを設計することです。

Cartesiは、計算負荷の高いタスクをオンチェーンロジックから分離するモジュール設計を信じています。 これにより、開発者は効率的なスマートコントラクトの作成に集中しながら、リソースを大量に消費する操作をCartesi Machineに委任できます。

Cartesiのイノベーション

拡張可能なオフチェーン計算

Cartesiのオフチェーン計算モデルは、ブロックチェーンの負荷を増やさずに大規模な計算を処理するdAppsに非常に役立ちます。これは、シミュレーション、データ分析、科学計算など、高い処理能力が必要なアプリケーションにとって非常に有用です。

計算はオフチェーンで行われますが、Cartesiは暗号証明と紛争解決メカニズムにより計算結果の安全性を保証します。この方法により、オフチェーンの計算もチェーン上の操作と同じ信頼性があります。

データの可用性と管理

Cartesiは、スケーラブルで費用対効果の高い方法でデータを管理し、オンチェーンストレージの高コストをかけずに、大量のデータへのアドホックなアクセスを必要とするアプリケーションをサポートします。

Noetherの分散型アーキテクチャは、データの利用可能性が単一のエンティティによって制御されないことを保証し、データの改ざんや喪失のリスクを低減します。これは特に分散型アプリケーションにおいて、オフチェーンデータの完全性と利用可能性を維持するのに役立ちます。

Cartesiでの開発を開始する方法

開発者は、Cartesi上でCartesiマシン(RISC-Vアーキテクチャ上でLinuxオペレーティングシステムを実行する)を設定することで、Cartesi上で構築を開始することができます。手順には次のものが含まれます:

  • 環境設定:Cartesi dAppのサンプルを実行するために、DockerとPython 3をインストールする必要があります。
  • Cartesiロールアップの使用:Cartesi Rollupsを使用して、各dAppに専用の環境を作成し、完全なLinuxオペレーティングシステムを使用してオフチェーン計算を実行することができます。
  • コードを書く:従来のプログラミング言語(PythonやC++など)を使用してアプリケーションを開発することで、専用のブロックチェーン言語を学ぶ必要を避けることができます。
  • テストとデプロイ:スマートコントラクトがオフチェーン計算の結果を固定するブロックチェーンにデプロイする前に、Cartesi Machine環境でアプリケーションをローカルにテストします。

Cartesiでの開発の利点

  • 馴染みのある開発環境:主要なプログラミング言語とツールを使用することで、ブロックチェーン開発に特化した新しい言語を学ぶ必要性を減らすことができます。
  • 拡張性:オフチェーン計算は、ブロックチェーンの負担を軽減し、よりスケーラブルで複雑なdAppsを可能にします。
  • 相互運用性:Cartesiは複数のブロックチェーンと互換性があり、dAppが選択する基盤ブロックチェーンに柔軟性を提供しています。
  • 複雑なアプリケーションのサポート:Cartesiは、複雑なdAppsの開発に必要な複雑なファイルシステム、データベース、および機械学習モデルをサポートしています。

劣勢

  • 学習曲線:Docker、Linux、またはCartesiの特定の環境に精通していない開発者にとって、学習曲線が存在する可能性があります。
  • オフチェーン計算への依存:オフチェーン計算に大きく依存すると、データの可用性とセキュリティを確保する上で課題が生じる可能性があります。
  • エコシステムの成熟度:Cartesiのエコシステムはまだ成長中であり、より成熟したプラットフォームと比較して、利用可能なリソースとコミュニティのサポートが制限される可能性があります。

開発者コスト

  • 開発コスト:Cartesiは既存のツールやライブラリを使用して開発コストを削減することができます。
  • 取引手数料:Cartesiのサービスとブロックチェーンとの相互作用を行う開発者は、取引手数料としてCTSI(Cartesiのネイティブトークン)を支払う必要があります。オフチェーン計算モデルにより、これらの費用は通常低くなります。
  • ステーキの費用:開発者は、ネットワークに参加したり、データの可用性や計算の整合性を確保したりするために、CTSIトークンをステークする必要があるかもしれません。 具体的なステーキング要件は、アプリケーションの特性によって異なります。

ハイライト

  • Linuxベースのツール:開発者は、従来のプログラミング言語(PythonやC ++など)をLinuxオペレーティングシステムで使用することにより、ブロックチェーン開発初心者の敷居を下げることができます。
  • スマートコントラクトの統合:Cartesi上で構築されたアプリケーションは、スマートコントラクトと効率的に対話し、オフチェーンの計算およびデータをチェーンにアンカーすることができます。
  • 革新的な計算:Cartesiはスケーラブルなオフチェーン計算をサポートし、暗号化された証明によって安全で検証可能な結果を保証します。
  • 入門:開発者は、Cartesiマシンの設定とCartesiロールアップの使用により、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.
It seems that you are attempting to access our services from a Restricted Location where Gate 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, Thailand, 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.