Fluence CLI は、Fluence Cloudless リソースの作成、デプロイ、支払い、実行、監視、削除を行うためのオールインワンのコマンドラインインターフェースです。
INFO
Fluence CLI は Linux と macOS をサポートしており、Windows については実験的なサポートが提供されています。詳細については、こちらをクリックしてください。
Fluence CLI のインストール
Fluence CLI をインストールする前に、Node.js をインストールする必要があります。最も簡単な方法は、インストールスクリプトを使用することです。以下のコマンドをコピーしてコマンドラインに貼り付け、Enter キーを押してください:
sh
コードをコピー
curl -qsL https://raw.githubusercontent.com/fluencelabs/cli/main/install.sh | bash
このプロセスには少し時間がかかる場合があり、設定に応じて sudo を使用してシンボリックリンクを作成するように求められることがあります。インストールが完了したら、fluence update stable を使用して最新バージョンに更新し、バージョン番号を確認してください。出力は以下のようになるはずです:
sh
コードをコピー
$ fluence --version
@fluencelabs/cli/0.15.10 darwin-arm64 node-v18.19.1
CLI を特定のネットワークバージョンに更新することもできます。たとえば、dar または kras に CLI を更新する場合は、それぞれ fluence update dar または fluence update kras を使用します。通常、stable に更新することが推奨され、比較的安全な選択肢です。詳細なドキュメントについては、Fluence CLI リポジトリを参照してください。
依存関係
インストールスクリプトは、Node.js と npm のインストールを含むインストールプロセスを処理します。さらに、CLI は必要に応じて一連の Fluence ライブラリと SDK、および Rust の遅延インストールも行います。
Fluence CLI を使用して依存関係をリストアップおよび管理することができます。インストールされている内容を見てみましょう:
sh
コードをコピー
$ fluence dep v
これが初めて Fluence CLI を使用する場合、出力は異なる場合があります:
sh
コードをコピー
Fluence CLI version: 0.15.5
nox version: fluencelabs/nox:0.20.1
rust toolchain: nightly-2023-08-27-x86_64
aqua dependencies that you can install or update using 'fluence dep i @':
"@fluencelabs/aqua-lib": 0.9.1
"@fluencelabs/spell": 0.6.9
marine and mrepl dependencies that can be overridden in fluence.yaml using marineVersion and mreplVersion properties:
marine: 0.19.2
mrepl: 0.26.2
internal dependencies:
"@fluencelabs/air-beautify-wasm": 0.3.6
"@fluencelabs/aqua-api": 0.14.2
"@fluencelabs/aqua-to-js": 0.3.5
"@fluencelabs/deal-ts-clients": 0.6.1
"@fluencelabs/fluence-network-environment": 1.1.2
"@fluencelabs/js-client": 0.8.3
"@fluencelabs/npm-aqua-compiler": 0.0.3
internal aqua dependencies:
"@fluencelabs/installation-spell": 0.6.9
js-client dependencies:
"@fluencelabs/avm": 0.59.0
"@fluencelabs/marine-worker": 0.5.1
"@fluencelabs/threads": ^2.0.0
"@fluencelabs/interfaces": 0.11.0
"@fluencelabs/js-client-isomorphic": 0.5.0
Fluence CLI は必要なコンテンツのみをインストールし、必要に応じて不足している依存関係を遅延して追加します。特に、Rust やさまざまな Marine の依存関係など、開発計算関数に必要な依存関係を指します。ただし、Rust を含むすべての依存関係を一度にインストールすることもできます:
sh
コードをコピー
$ fluence dep i
さらに、fluence dep reset および fluence dep uninstall を使用して、依存関係を CLI バージョンのデフォルト値にリセットしたり、特定のバージョンをアンインストールしたりすることもできます。
::: info Rust の設定には、wasm32-wasi ビルドターゲットが必要です。システムを確認するには、rustup target list --installed|grep wasm32 を使用してください。wasm32-wasi ターゲットが見つからない場合は、rustup target install wasm32-wasi を使用してインストールしてください。 :::
依存関係のインストールと管理は、~/.fluence ディレクトリにあります。見てみましょう:
$ tree -L 3 ~/.fluence
/Users/bebo/.fluence
├── cargo
│ ├── marine
│ │ ├── 0.17.0
│ │ ├── 0.19.0
│ │ └── 0.19.2
│ └── mrepl
│ ├── 0.24.0
│ ├── 0.26.0
│ └── 0.26.2
├── cli
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── dev.js
│ │ ├── fluence
│ │ ├── fluence.cmd
│ │ ├── node
│ │ └── run.js
│ ├── dist
│ │ ├── baseCommand.d.ts
│ │ ├── baseCommand.js
│ │ └── versions.json
│ ├── node_modules
│ │ ├── @achingbrain
│ │ └── zod
│ ├── package.json
│ └── yarn.lock
├── config.yaml
├── npm
│ └── @fluencelabs
│ ├── aqua-lib
│ ├── registry
│ └── spell
├── schemas
│ └── config.json
├── secrets
│ └── auto-generated.txt
└── tmp
├── cargo
└── npm
└── @fluencelabs
615 directories, 25 files
出力は異なる場合がありますが、特定のパッケージの異なるバージョンがグローバルにインストールされ、特定の CLI プロジェクトに固定されていることに注意してください。後で詳しく説明します。
Fluence ローカルネットワークを使用する場合は、Docker をインストールする必要があります。
ターゲットオーディエンス
Fluence CLI は、開発者、プロバイダー、およびデリゲーターのニーズをサポートしています。一部の機能は共有されており、他の機能は特定のターゲットに対して提供され、fluence provider および fluence delegator のテーマでそれぞれ説明されています。
CLI クイックスタートガイド
前述のように、Fluence Cloudless の開発およびプロダクションエコシステムは、プロダクションメインネットワークからローカルネットワークまで、異なるネットワークで構成されています。これらのネットワークは時には異なるフォークを表し、正常に動作するためには異なる依存関係のバージョンが必要です。Fluence CLI を使用すると、ターゲットに応じて開発環境を切り替え、適切な依存関係を維持することができます。
CLI バージョン管理
CLI バージョンを正しい環境に更新するには、fluence update コマンドを使用します:
$ fluence update [CHANNEL] [-a] [--force] [-i | -v ]
最新の dar(テストネット)バージョンにバージョンを更新したい場合は、次のコマンドを実行します:
$ fluence update kras
詳細な例については、fluence update --help を参照してください。
Fluence CLI テンプレート
CLI にはいくつかのテンプレートが用意されており、ニーズに応じてプロジェクトを素早く作成することができます:
minimal
基本的なテンプレートで、計算サービスは事前に入力されていません
quickstart
計算サービスがインストール済みのテンプレート
ts
TypeScript フロントエンドを持つ計算サービスのテンプレート
js
JavaScript フロントエンドを持つ計算サービスのテンプレート
Fluence CLI キーマネージャー
Fluence CLI が Fluence のピアネットワーク内のノードと安全に対話し、通信するためには、暗号化キーが必要です。デフォルトでは、CLI はこれらのキーを作成および管理し、~/.fluence/secrets ディレクトリに保存します。これはすべてのプロジェクトに適用されますが、特定のプロジェクトのキーを作成することもできます。プロジェクトキーは、プロジェクトの.fluence/secrets ディレクトリまたは他の指定された場所にデフォルトで保存されます。
$ fluence key new
? Enter secret key name to generate at /keys-demo/.fluence/secrets: my-project-keys
? Do you want to set my-project-keys as default secret key at /keys-demo/fluence.yaml: Yes
Secret key with name my-project-keys successfully generated and saved to /keys-demo/.fluence/secrets
キーに関する詳細な情報については、fluence key --help を参照してください。
INFO
Fluence CLI が作成および管理するキーは、Fluence のオフチェーンピア計算ネットワークのノード識別とコンテンツの暗号化に使用されます。Fluence CLI は、暗号通貨(ウォレット)キーの管理には関与しません。
プロジェクトの作成
fluence init コマンドを使用して、Fluence プロジェクトを作成できます。このコマンドには、プロジェクトの名前付けと設定のためのいくつかのオプションが用意されています:
$ fluence init [PATH] [--no-input] [-t ] [--env ] [--noxes ]
``