ScalarDL クライアントコマンドリファレンス
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページでは、ScalarDL コンポーネントと対話するためのクライアントコマンドである scalardl を紹介します。
コマンドの概要
- クライアントをブートストラップする
bootstrap: ID 情報とシステムコントラクトを登録してクライアントをブートストラップします。
- ID 情報を登録する
register-cert: 指定された証明書を登録します。register-secret: 指定されたシークレットを登録します。
- ビジネスロジックを登録する
register-contract: 指定されたコントラクトを登録します。register-contracts: 指定されたコントラクトを登録します。register-function: 指定されたファンクションを登録します。register-functions: 指定されたファンクションを登録します。
- 登録されたビジネスロジックを実行して一覧表示する
execute-contract: 指定されたコントラクトを実行します。list-contracts: 登録されたコントラクトを一覧表示します。
- 台帳を検証します
validate-ledger: 台帳内の指定されたアセットを検証します。
- 汎用コントラクト向けにコマンドを実行します
generic-contracts: 汎用コントラクトベースの構成でコマンドを実行します。
bootstrap
ID 情報とシステムコントラクトを登録してクライアントをブートストラップします。このコマンドは以下を実行します。
- プロパティファイルで設定された認証方式に基づいて、証明書またはシークレットを登録します。
- Auditor が有効な場合、
ValidateLedgerコントラクトを登録します。
ID 情報またはコントラクトがすでに登録されている場合は、登録をスキップしてエラーなしで続行します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl bootstrap --properties client.properties
register-cert
指定された証明書を登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl register-cert --properties client.properties
register-secret
指定されたシークレットを登録します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
共通ユーティリティオプションも利用できます。
例
scalardl register-secret --properties client.properties
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。 |
共通ユーティリティオプションも利用できます。
例
ファンクションなしでコントラクトを実行します。
scalardl execute-contract --properties client.properties --contract-id StateUpdater --contract-argument '{"asset_id":"some_asset", "state":3}'
ファンクションを使用してコントラクトを実行します。
scalardl execute-contract --properties client.properties --contract-id TestContract --contract-argument '{...}' --function-id TestFunction --function-argument '{...}'
list-contracts
登録されたコントラクトを一覧表示します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--contract-id | 表示するコントラクトの ID。 |
共通ユーティリティオプションも利用できます。
例
指定されたエンティティによって登録されたすべてのコントラクトを一覧表示しま す。
scalardl list-contracts --properties client.properties
指定されたコントラクトのみを表示します。
scalardl list-contracts --properties client.properties --contract-id StateUpdater
validate-ledger
元帳内の指定されたアセットを検証します。
オプション
| オプション | 説明 |
|---|---|
--config, --properties | プロパティ形式の設定ファイル。 |
--asset-id | アセットの ID またはアセットの ID と経過時間。形式: 'ASSET_ID' (検証するアセットの ID)、または 'ASSET_ID,START_AGE,END_AGE' (検証するアセットの ID と経過時間)。 |
共通ユーティリティオプションも利用できます。
例
すべての世代を対象にアセットを検証します。
scalardl validate-ledger --properties client.properties --asset-id 'some_asset'
アセットを 0 から 10 までの世代のみ検証します。
scalardl validate-ledger --properties client.properties --asset-id 'some_asset,0,10'
generic-contracts
汎用コントラクトは ScalarDL 3.10 で導入されましたが、ScalarDL 3.12 でリリースされた HashStore は、汎用コントラクトをラップしたより高次の抽象化を提供します。ほとんどのユースケースでは、汎用コントラクトを直接使用するよりも、HashStore を使用する方がシンプルで効率的です。詳細については、ScalarDL の最新版の ScalarDL HashStore をはじめようをご参照ください。
汎用コントラクトベースの構成向けにコマンドを実行します。これは、scalardl コマンドのサブコマンドとほぼ同じです。唯一の違いは、validate-ledger サブコマンドで、生のアセット ID ではなく、汎用コントラクトで用いられるオブジェクト ID でアセットを指定できることです。他のサブコマンドについては、次のサブコマンド