メインコンテンツまでスキップ
バージョン: 3.10

ScalarDL クライアントコマンドリファレンス

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

このページでは、ScalarDL コンポーネントと対話するためのクライアントコマンドである scalardl を紹介します。

コマンドの概要

  • ID 情報を登録する
  • ビジネスロジックを登録する
  • 登録されたビジネスロジックを実行して一覧表示する
    • execute-contract: 指定されたコントラクトを実行します。
    • list-contracts: 登録されたコントラクトを一覧表示します。
  • 台帳を検証します
    • validate-ledger: 台帳内の指定されたアセットを検証します。
  • 汎用コントラクト向けにコマンドを実行します
    • generic-contracts: 汎用コントラクトベースの構成でコマンドを実行します。

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-fileTOML 形式で登録するコントラクトを含むファイル。

共通ユーティリティオプションも利用できます。

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-fileTOML 形式で登録するファンクションを含むファイル。

共通ユーティリティオプションも利用できます。

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 コマンドのサブコマンドとほぼ同じです。唯一の違いは、validate-ledger サブコマンドで、生のアセット ID ではなく、汎用コントラクトで用いられるオブジェクト ID でアセットを指定できることです。他のサブコマンドについては、次のサブコマンドセクションの対応する各コマンドを参照してください。

ヒント

scalardl-gc トップレベルコマンドまたは gc サブコマンドを generic-contracts サブコマンドのエイリアスとして使用することもできます。

サブコマンド

サブコマンド説明
register-cert指定された証明書を登録します。
register-secret指定されたシークレットを登録します。
register-contract指定されたコントラクトを登録します。
register-contracts指定された複数のコントラクトを登録します。
register-function指定されたファンクションを登録します。
register-functions指定された複数のファンクションを登録します。
execute-contract指定されたコントラクトを実行します。
list-contracts登録されたコントラクトを一覧表示します。
validate-ledger台帳内の指定されたアセットを検証します。

validate-ledger for generic contracts

台帳内の指定されたアセットを検証します。

注記

汎用コントラクトは、オブジェクトまたはコレクションを表すアセットレコードに専用のアセット ID を内部的に割り当てます。アセット ID は、アセットタイプのプレフィックスとキーで構成されます。たとえば、オブジェクトのプレフィックス o_ とオブジェクト ID です。validate-ledger コマンドを実行すると、このような生のアセット ID が表示されます。

Options

OptionDescription
--config, --propertiesプロパティ形式の設定ファイル。
--object-idobject.Put コントラクトで作成されたオブジェクトの ID。
--collection-idcollection.Create コントラクトで作成されたコレクションの ID。
--start-ageアセットの検証開始世代 (オプショナル).
--end-ageアセットの検証終了世代 (オプショナル).

共通ユーティリティオプションも利用できます。

サブコマンドの使用例

指定された証明書を登録します。使用可能なオプションについては、register-certを参照してください。

scalardl generic-contracts register-cert --properties client.properties

指定されたシークレットを登録します。使用可能なオプションについては、register-secretを参照してください。

scalardl generic-contracts register-secret --properties client.properties

指定されたコントラクトを登録します。使用可能なオプションについては、register-contractを参照してください。

scalardl generic-contracts register-contract --properties client.properties --contract-id object.Put --contract-binary-name com.scalar.dl.genericcontracts.object.Put --contract-class-file /path/to/Put.class

指定された複数のコントラクトを登録します。使用可能なオプションについては、register-contractsを参照してください。

scalardl generic-contracts register-contracts --properties client.properties --contracts-file /path/to/contracts-file

指定されたファンクションを登録します。使用可能なオプションについては、register-functionを参照してください。

scalardl generic-contracts register-function --properties client.properties --function-id object.PutToMutableDatabase --function-binary-name com.scalar.dl.genericcontracts.object.PutToMutableDatabase --function-class-file /path/to/PutToMutableDatabase.class

指定された複数のファンクションを登録します。使用可能なオプションについては、register-functionsを参照してください。

scalardl generic-contracts register-functions --properties client.properties --functions-file /path/to/functions-file

指定されたコントラクトを実行します。使用可能なオプションについては、execute-contractを参照してください。

scalardl generic-contracts execute-contract --properties client.properties --contract-id object.Put --contract-argument '{"object_id": "a.txt", "hash_value": "b97a42c87a46ffebe1439f8c1cd2f86e2f9b84dad89c8e9ebb257a19b6fdfe1c", "metadata": {"note": "updated"}}'

登録済みのコントラクトを一覧表示します。使用可能なオプションについては、list-contractsを参照してください。

scalardl generic-contracts list-contracts --properties client.properties

すべての世代のオブジェクトを検証します。

scalardl generic-contracts validate-ledger --properties client.properties --object-id 'a.txt'

世代 0 から 10 までのオブジェクトのみを検証します。

scalardl generic-contracts validate-ledger --properties client.properties --object-id 'a.txt' --start-age 0 --end-age 10

すべての世代のコレクションを検証します。

scalardl generic-contracts validate-ledger --properties client.properties --collection-id 'audit_set'

scalardl generic-contracts のエイリアスとして、トップレベルコマンド scalardl-gc を使用します。

scalardl-gc validate-ledger --properties client.properties --object-id 'a.txt'

scalardl generic-contracts のエイリアスとして、サブコマンド scalardl gc を使用します。

scalardl gc validate-ledger --properties client.properties --object-id 'a.txt'

共通ユーティリティオプション

上記のすべてのコマンドで次のオプションを使用できます。

オプション説明
-g, --use-gatewayゲートウェイを使用するためのオプション。
-h, --helpコマンドのヘルプメッセージを表示します。
--stacktraceJava スタックトレースを stderr ストリームに出力します。