ScalarDL クライアントコマンドリファレンス
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページでは、ScalarDL コンポーネントと対話するためのクライアントコマンドである scalardl を紹介します。
コマンドの概要
- クライアントをブートストラップする
bootstrap: ID 情報とシステムコントラクトを登録してクライアントをブートストラップします。
- ID 情報を登録する
register-cert: 指定された証明書を登録します。register-secret: 指定されたシークレットを登録します。
- ビジネスロジックを登録する
register-contract: 指定されたコントラクトを登録します。register-contracts: 指定されたコントラクトを登録します。register-function: 指定されたファンクションを登録します。register-functions: 指定されたファンクションを登録します。
- 登録されたビジネスロジックを実行して一覧表示する
execute-contract: 指定されたコントラクトを実行します。list-contracts: 登録されたコントラクトを一覧表示します。
- 名前空間を管理する
create-namespace: 名前空間を作成します。list-namespaces: 名前空間を一覧表示します。drop-namespace: 名前空間を削除します。
- 台帳を検証します
validate-ledger: 台帳内の指定されたアセットを検証します。
- 汎用コント ラクト向けにコマンドを実行します
generic-contracts: 汎用コントラクトベースの構成でコマンドを実行します。
bootstrap
ID 情報とシステムコントラクトを登録してクライアントをブートストラップします。このコマンドは以下を実行します。
- プロパティファイルで設定された認証方式に基づいて、証明書またはシークレットを登録します。
- Auditor が有効な場合、
ValidateLedgerコントラクトを登録します。
ID 情報またはコントラクトがすでに登録されている場合は、登録をスキップしてエラーなしで続行します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl bootstrap --properties client.properties
register-cert
指定された証明書を登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--namespace | 証明書が登録される名前空間。 |
--entity-id | 証明書のエンティティID。 |
--cert-path | PEM形式の証明書ファイルへのパス。 |
--cert-version | 証明書のバージョン (デフォルト: 1)。 |
--namespace が指定されている場合、--entity-id と --cert-path も必要です。--namespace が指定されていない場合は、プロパティファイルの認証情報が使用されます。
共通ユーティリティオプションも利用できます。
例
プロパティファイルの認証情報を使用して証明書を登録する。
scalardl register-cert --properties client.properties
指定された名前空間に証明書を登録する。
scalardl register-cert --properties admin.properties --namespace tenant_a --entity-id foo --cert-path ./fixture/client.pem
register-secret
指定されたシークレットを登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--namespace | シークレットが登録される名前空間。 |
--entity-id | シークレットのエンティティID。 |
--secret-key | HMAC認証用のシークレットキー。 |
--secret-key-version | シークレットキーのバージョン (デフォルト: 1)。 |
--namespace が指定されている場合、--entity-id と --secret-key も必要です。--namespace が指定されていない場合は、プロパティファイルの認証情報が使用されます。
共通ユーティリティオプションも利用できます。
例
プロパティファイル の認証情報を使用してシークレットを登録する。
scalardl register-secret --properties client.properties
指定された名前空間にシークレットを登録する。
scalardl register-secret --properties admin.properties --namespace tenant_a --entity-id foo --secret-key some_secret
register-contract
指定されたコントラクトを登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--contract-binary-name | 登録するコントラクトのバイナリ名。 |
--contract-class-file | 登録するコントラクトクラスファイル。 |
--contract-id | 登録するコントラクトの ID。 |
--contract-properties | シリアル化された形式のコントラクトプロパティ。 |
--deserialization-format | コントラクトプロパティの逆シリアル化形式。有効な値: JSON または STRING (デフォルト: JSON) |
共通ユーティリティオプションも利用できます。
例
scalardl register-contract --properties client.properties --contract-id StateUpdater --contract-binary-name com.org1.contract.StateUpdater --contract-class-file build/classes/java/main/com/org1/contract/StateUpdater.class
register-contracts
指定されたコントラクトを登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--contracts-file | TOML 形式で登録するコントラクトを含むファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl register-contracts --properties client.properties --contracts-file /path/to/contracts-file
コントラクトファイルの例は次のとおりです。
[[contracts]]
contract-id = "StateUpdater"
contract-binary-name = "com.org1.contract.StateUpdater"
contract-class-file = "build/classes/java/main/com/org1/contract/StateUpdater.class"
[[contracts]]
contract-id = "StateReader"
contract-binary-name = "com.org1.contract.StateReader"
contract-class-file = "build/classes/java/main/com/org1/contract/StateReader.class"
register-function
指定されたファンクションを登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--function-binary-name | 登録するファンクションのバイナリ名。 |
--function-class-file | 登録するファンクションクラスファイル。 |
--function-id | 登録するファンクションの ID。 |
共通ユーティリティオプションも利用できます。
例
scalardl register-function --properties client.properties --function-id test-function --function-binary-name com.example.function.TestFunction --function-class-file /path/to/TestFunction.class
register-functions
指定された機能を登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--functions-file | TOML 形式で登録するファンクションを含むファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl register-functions --properties client.properties --functions-file /path/to/functions-file
ファンクションファイルの例は次のとおりです。
[[functions]]
function-id = "TestFunction1"
function-binary-name = "com.org1.function.TestFunction1"
function-class-file = "build/classes/java/main/com/org1/function/TestFunction1.class"
[[functions]]
function-id = "TestFunction2"
function-binary-name = "com.org1.function.TestFunction2"
function-class-file = "build/classes/java/main/com/org1/function/TestFunction2.class"
execute-contract
指定されたコントラクトを実行します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--contract-argument | シリアル化された形式で実行するコントラクトの引数。 |
--contract-id | 実行するコントラクトの ID。 |
--deserialization-format | コントラクトおよびファンクションの引数のデシリアル化形式。有効な値: JSON または STRING (デフォルト: JSON) |
--function-id | 実行するファンクションの ID。 |
共通ユーティリティオプションも利用できます。