ScalarDL HashStore をはじめよう
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
ScalarDL HashStore は、低レベルの台帳抽象化の上に構築された高レベルの抽象化です。デジタル証拠保全専用に設計されており、オブジェクト真正性管理とコレクション真正性管理の2つの機能を提供します。HashStore を使用することで、コントラクトを記述することなく、不変な方法でオブジェクトのハッシュ値とオブジェクトのコレクションを管理し、真正性管 理アプリケーションを迅速かつ簡単に開発できます。
このスタートガイドでは、お好みのデータベースで ScalarDL HashStore を設定し、改ざん検知可能な方法でオブジェクトとコレクションを管理する方法について説明します。
ScalarDL HashStore とは?
HashStore は、オブジェクト真正性管理とコレクション真正性管理の2つの機能を提供します。オブジェクト真正性管理では、ファイル、監査ログ、さらにはファイルまたはオブジェクトストレージ内のディレクトリなど、あらゆる種類のオブジェクトの真正性を管理できます。コレクション真正性管理では、コレクション内に存在するオブジェクトを管理できます。例えば、監査プロセスで検証が必要なオブジェクトのコレクションを作成できます。
HashStore がこれらの機能をどのように実現するかについては、下記のオブジェクト真正性の管理とコレクション真正性の管理の例を参照してください。
前提条件
- 以下のいずれかの Java Development Kit (JDK):
- Oracle JDK: 8、11、17、または 21 (LTS バージョン)
- OpenJDK (Eclipse Temurin、Amazon Corretto、または Microsoft Build of OpenJDK): 8、11、17、または 21 (LTS バージョン)
- Docker 20.10以降とDocker Compose v2.20.0以降
ScalarDL は JDK 8 でビルドされているため、コントラクトは JDK 8 互換のバイナリである必要があります。JDK 8 以外のバージョンを使用する場合は、JDK 8 互換のバイナリをビルドするようにビルドツールを設定する必要があります。バイナリ互換性を指定する方法はいくつかあり、javac の --release 8 オプションを使用するか、JDK 8 ツールチェーンを使用す るように Gradle または Maven の設定を行う方法があります。以下は Gradle の設定例です:
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}
Gradle と Maven の設定の詳細については、Toolchains for JVM projects for Gradle と Guide to Using Toolchains for Maven を参照してください。
ScalarDL サンプルリポジトリをクローンする
ターミナルを開き、次のコマンドを実行して ScalarDL サンプルリポジトリをクローンします:
git clone https://github.com/scalar-labs/scalardl-samples
次に、以下のコマンドを実行して、サンプル設定を含むディレクトリに移動します:
cd scalardl-samples
お使いのデータベースで ScalarDL を起動する
データベースを選択し、コマンドに従って ScalarDL Ledger をデプロイしてください。ScalarDL がサポートするデータベースの一覧については、データベースを参照してください。
- MySQL
- PostgreSQL
- Oracle Database
- SQL Server
- DynamoDB
- Cosmos DB for NoSQL
- Cassandra
ライセンスを設定する (Enterprise Edition のみ)
ScalarDL Enterprise Edition を使用している場合は、次のようにライセンスを設定します。Community Edition を使用している場合は、次のセクションに進んで ScalarDL を起動してください。
ライセンスの設定についてはこちらをご覧ください
-
次のように、
mysql/docker-compose-ledger.ymlファイルで Enterprise Edition のコンテナイメージを有効にします。-
イメージを変更する前 (デフォルト設定):
services:
scalardl-ledger:
image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
# image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION} -
イメージを変更した後:
services:
scalardl-ledger:
# image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION}
-
-
ScalarDL Ledger のライセンスキーを設定します。
mysql/ledger.propertiesファイルで、<SET_YOUR_LICENSE_KEY>をライセンスキーに置き換えます。例:##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) #####
scalar.dl.licensing.license_key={"organization_name":"XXXXXXXX","expiration_date_time":"YYYY-MM-DDTHH:mm:SS+TIMEZONE","product_name":"ScalarDL Ledger","product_version":N,"license_type":"trial","signature":"XXXXXXXX"}
##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) ##### -
ライセンスを確認するには、
mysql/docker-compose-ledger.ymlファイルを次のように更新します。試用版ライセンスを使用している場合は、この手順をスキップしてください。-
証明書ファイルのパスを変更する前に (デフォルト設定):
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
- ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
# - ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem -
証明書ファイルのパスを変更した後:
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
# - ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
- ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem
-
ScalarDL を起動する
以下の手順に従って、ScalarDL Ledger を開始できます。
-
次のコマンドを実行して、MySQL をローカルで実行します。
docker compose -f mysql/docker-compose-ledger.yml up -d mysql -
次のコマンドを実行して、ScalarDL Ledger のデータベーススキーマをロードします。
docker compose -f mysql/docker-compose-ledger.yml up -d scalardl-ledger-schema-loader -
次のコマンドを実行して ScalarDL Ledger および依存するコンポーネントを起動します。
docker compose -f mysql/docker-compose-ledger.yml up -d
ライセンスを設定する (Enterprise Edition のみ)
ScalarDL Enterprise Edition を使用している場合は、次のようにライセンスを設定します。Community Edition を使用している場合は、次のセクションに進んで ScalarDL を起動してください。
ライセンスの設定についてはこちらをご覧ください
-
次のように、
postgres/docker-compose-ledger.ymlファイルで Enterprise Edition のコンテナイメージを有効にします。-
イメージを変更する前 (デフォルト設定):
services:
scalardl-ledger:
image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
# image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION} -
イメージを変更した後:
services:
scalardl-ledger:
# image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION}
-
-
ScalarDL Ledger のライセンスキーを設定します。
postgres/ledger.propertiesファイルで、<SET_YOUR_LICENSE_KEY>をライセンスキーに置き換えます。例:##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) #####
scalar.dl.licensing.license_key={"organization_name":"XXXXXXXX","expiration_date_time":"YYYY-MM-DDTHH:mm:SS+TIMEZONE","product_name":"ScalarDL Ledger","product_version":N,"license_type":"trial","signature":"XXXXXXXX"}
##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) ##### -
ライセンスを確認するには、
postgres/docker-compose-ledger.ymlファイルを次のように更新します。試用版ライセンスを使用している場合は、この手順をスキップしてください。-
証明書ファイルのパスを変更する前に (デフォルト設定):
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
- ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
# - ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem -
証明書ファイルのパスを変更した後:
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
# - ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
- ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem
-
ScalarDL を起動する
以下の手順に従って、ScalarDL Ledger を開始できます。
-
次のコマンドを実行して、PostgreSQL をローカルで実行します。
docker compose -f postgres/docker-compose-ledger.yml up -d postgres -
次のコマンドを実行して、ScalarDL Ledger のデータベーススキーマをロードします。
docker compose -f postgres/docker-compose-ledger.yml up -d scalardl-ledger-schema-loader -
次のコマンドを実行して ScalarDL Ledger および依存するコンポーネントを起動します。
docker compose -f postgres/docker-compose-ledger.yml up -d
ライセンスを設定する (Enterprise Edition のみ)
ScalarDL Enterprise Edition を使用している場合は、次のようにライセンスを設定します。Community Edition を使用している場合は、次のセクションに進んで ScalarDL を起動してください。
ライセンスの設定についてはこちらをご覧ください
-
次のように、
oracle/docker-compose-ledger.ymlファイルで Enterprise Edition のコンテナイメージを有効にします。-
イメージを変更する前 (デフォルト設定):
services:
scalardl-ledger:
image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
# image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION} -
イメージを変更した後:
services:
scalardl-ledger:
# image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION}
-
-
ScalarDL Ledger のライセンスキーを設定します。
oracle/ledger.propertiesファイルで、<SET_YOUR_LICENSE_KEY>をライセンスキーに置き換えます。例:##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) #####
scalar.dl.licensing.license_key={"organization_name":"XXXXXXXX","expiration_date_time":"YYYY-MM-DDTHH:mm:SS+TIMEZONE","product_name":"ScalarDL Ledger","product_version":N,"license_type":"trial","signature":"XXXXXXXX"}
##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) ##### -
ライセンスを確認するには、
oracle/docker-compose-ledger.ymlファイルを次のように更新します。試用版ライセンスを使用している場合は、この手順をスキップしてください。-
証明書ファイルのパスを変更する前に (デフォルト設定):
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
- ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
# - ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem -
証明書ファイルのパスを変更した後:
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
# - ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
- ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem
-
ScalarDL を起動する
以下の手順に従って、ScalarDL Ledger を開始できます。
-
次のコマンドを実行して、Oracle Database をローカルで実行します。
docker compose -f oracle/docker-compose-ledger.yml up -d oracle -
次のコマンドを実行して、ScalarDL Ledger のデータベーススキーマをロードします。
docker compose -f oracle/docker-compose-ledger.yml up -d scalardl-ledger-schema-loader -
次のコマンドを実行して ScalarDL Ledger および依存するコンポーネントを起動します。
docker compose -f oracle/docker-compose-ledger.yml up -d
ライセンスを設定する (Enterprise Edition のみ)
ScalarDL Enterprise Edition を使用している場合は、次のようにライセンスを設定します。Community Edition を使用している場合は、次のセクションに進んで ScalarDL を起動してください。
ライセンスの設定についてはこちらをご覧ください
-
次のように、
sqlserver/docker-compose-ledger.ymlファイルで Enterprise Edition のコンテナイメージを有効にします。-
イメージを変更する前 (デフォルト設定):
services:
scalardl-ledger:
image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
# image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION} -
イメージを変更した後:
services:
scalardl-ledger:
# image: ghcr.io/scalar-labs/scalardl-ledger:${SCALARDL_VERSION}
image: ghcr.io/scalar-labs/scalardl-ledger-byol:${SCALARDL_VERSION}
-
-
ScalarDL Ledger のライセンスキーを設定します。
sqlserver/ledger.propertiesファイルで、<SET_YOUR_LICENSE_KEY>をライセンスキーに置き換えます。例:##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) #####
scalar.dl.licensing.license_key={"organization_name":"XXXXXXXX","expiration_date_time":"YYYY-MM-DDTHH:mm:SS+TIMEZONE","product_name":"ScalarDL Ledger","product_version":N,"license_type":"trial","signature":"XXXXXXXX"}
##### PLEASE REPLACE THIS VALUE WITH YOUR LICENSE KEY (ENTERPRISE EDITION ONLY) ##### -
ライセンスを確認するには、
sqlserver/docker-compose-ledger.ymlファイルを次のように更新します。試用版ライセンスを使用している場合は、この手順をスキップしてください。-
証明書ファイルのパスを変更する前に (デフォルト設定):
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
- ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
# - ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem -
証明書ファイルのパスを変更した後:
services:
scalardl-ledger:
volumes:
- ./ledger.properties:/scalar/ledger/ledger.properties.tmpl
- ../fixture/ledger-key.pem:/scalar/ledger-key.pem
# - ../fixture/trial-license-cert.pem:/scalar/license-cert.pem
# If you have a commercial license key, you must use `commercial-license-cert.pem` instead of `trial-license-cert.pem`.
- ../fixture/commercial-license-cert.pem:/scalar/license-cert.pem
-
ScalarDL を起動する
以下の手順に従って、ScalarDL Ledger を開始できます。
-
次のコマンドを実行して、SQL Server をローカルで実行します。
docker compose -f sqlserver/docker-compose-ledger.yml up -d sqlserver -
次のコマンドを実行して、ScalarDL Ledger のデータベーススキーマをロードします。
docker compose -f sqlserver/docker-compose-ledger.yml up -d scalardl-ledger-schema-loader -
次のコマンドを実行して ScalarDL Ledger および依存するコンポーネントを起動します。
docker compose -f sqlserver/docker-compose-ledger.yml up -d