jpskill.com
🛠️ 開発・MCP コミュニティ 🟡 少し慣れが必要 👤 幅広いユーザー

📦 Canton Network Repos

canton-network-repos

Canton Networkの参加者やDAMLスマートコント

⏱ この作業 数時間 → 数分

📺 まず動画で見る(YouTube)

▶ 【Claude Code完全入門】誰でも使える/Skills活用法/経営者こそ使うべき ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Use when working with Canton Network participants, DAML smart contracts, Splice applications, or debugging LF version and package ID issues.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Canton Networkの参加者やDAMLスマートコント

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o canton-network-repos.zip https://jpskill.com/download/4023.zip && unzip -o canton-network-repos.zip && rm canton-network-repos.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/4023.zip -OutFile "$d\canton-network-repos.zip"; Expand-Archive "$d\canton-network-repos.zip" -DestinationPath $d -Force; ri "$d\canton-network-repos.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して canton-network-repos.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → canton-network-repos フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Canton Network Repos の使い方を教えて
  • Canton Network Repos で何ができるか具体例で見せて
  • Canton Network Repos を初めて使う人向けにステップを案内して

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Canton Network リポジトリ

リポジトリ階層

Splice (例: 0.5.4)     github.com/digital-asset/decentralized-canton-sync
  └─ depends on
Canton (例: 3.4.9)     github.com/digital-asset/canton
  └─ depends on
DAML SDK (例: 3.4.9)   github.com/digital-asset/daml

バージョンマッピング

Splice Canton DAML SDK Protocol LF Default LF Available
0.5.4 3.4.9 3.4.9 PV34 2.1* 2.2 (verified)
0.5.3 3.4.8 3.4.8 PV34 2.1* 2.2
0.4.x 3.3.x 3.3.x PV33 2.1 2.1

*オープンソースの Splice 0.5.4 は SDK スナップショット 3.3.0-snapshot.20250502 (LF 2.2 より前) と共に提供されます。LF 2.2 は 2025-10-03 に SDK に追加されました。SDK 3.4.9 に更新すると LF 2.2 ビルドが可能になります。

主要な設定ファイル

目的 リポジトリ ファイル
LF バージョン定義 daml sdk/daml-lf/language/.../LanguageVersion.scala
damlc ターゲット検証 daml sdk/compiler/damlc/lib/DA/Cli/Options.hs
Canton バージョン canton VERSION
組み込み DAR canton community/common/src/main/daml/
Splice LF 設定 splice project/CantonDependencies.scala
パッケージターゲット splice daml/*/daml.yaml
Docker ビルド splice cluster/images/*/Dockerfile

Splice LF 設定 (project/CantonDependencies.scala):

val daml_language_versions = Seq("2.1")  // ← LF ターゲット; アップグレードには "2.2" に変更
val daml_compiler_version = sys.env("DAML_COMPILER_VERSION")

パッケージ ID の派生

パッケージ ID は、ソースコンテンツ + LF バージョン (--target) + SDK/stdlib バージョン + 依存パッケージ ID の暗号化ハッシュです。

LF バージョンを変更すると、パッケージ ID が異なり、互換性のないパッケージになります。 Canton は、アップグレードされたパッケージが同等または新しい LF バージョンを使用していることを検証します。同じ台帳で LF バージョンを混在させると、検証エラーが発生します。

Enterprise と Community Canton の比較

機能 Enterprise Community
トランザクション処理 並列 順次
データベース PostgreSQL, Oracle PostgreSQL のみ
HA ドメイン サポート 組み込みのみ
プルーニング フル 制限付き

ビルドコマンド

# Community Canton 参加者
cd canton && sbt "community/app/assembly"
# 出力: community/app/target/scala-2.13/canton-community.jar

# Splice アプリケーション (DAML_COMPILER_VERSION 環境変数が必要)
cd decentralized-canton-sync && sbt compile

LF 2.2 へのアップグレード (SDK 3.4.9 で検証済み)

  1. project/CantonDependencies.scala: val daml_language_versions = Seq("2.2")
  2. nix/daml-compiler-sources.json: { "version": "3.4.9" }
  3. すべての daml/*/daml.yaml: sdk-version: 3.4.9--target=2.2 を設定します。
  4. すべての daml.yaml ファイルから -Wno-ledger-time-is-alpha を削除します (SDK 3.4.9 にはありません)。
  5. ビルド: daml build -p daml/splice-util && daml build -p daml/splice-amulet

コミュニティビルドの DAR は、同じ LF バージョンであればエンタープライズ版と同一のパッケージ ID を持ちます (2025-12-24 検証済み)。

トラブルシューティング

"Unknown Daml-LF version: 2.2": damlc バイナリが 2.2 をサポートしていません。サポートされているターゲットについては daml damlc --help を確認し、SDK 3.4.9 にアップグレードしてください。

パッケージ ID の不一致: ビルド間で --target の値が異なります。unzip -p package.dar META-INF/MANIFEST.MF | grep Sdk-Version を確認してください。

アップグレード検証失敗: エンタープライズ (LF 2.2) とコミュニティ (LF 2.1) パッケージを入れ替えています。LF 2.2 の互換性を維持するには、DAR インジェクションを使用してください。

参考文献

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Canton Network Repositories

Repository Hierarchy

Splice (e.g., 0.5.4)     github.com/digital-asset/decentralized-canton-sync
  └─ depends on
Canton (e.g., 3.4.9)     github.com/digital-asset/canton
  └─ depends on
DAML SDK (e.g., 3.4.9)   github.com/digital-asset/daml

Version Mapping

Splice Canton DAML SDK Protocol LF Default LF Available
0.5.4 3.4.9 3.4.9 PV34 2.1* 2.2 (verified)
0.5.3 3.4.8 3.4.8 PV34 2.1* 2.2
0.4.x 3.3.x 3.3.x PV33 2.1 2.1

*Open-source Splice 0.5.4 ships with SDK snapshot 3.3.0-snapshot.20250502 (pre-dates LF 2.2). LF 2.2 was added to the SDK on 2025-10-03. Updating to SDK 3.4.9 enables LF 2.2 builds.

Key Configuration Files

Purpose Repo File
LF version definitions daml sdk/daml-lf/language/.../LanguageVersion.scala
damlc target validation daml sdk/compiler/damlc/lib/DA/Cli/Options.hs
Canton version canton VERSION
Built-in DARs canton community/common/src/main/daml/
Splice LF config splice project/CantonDependencies.scala
Package targets splice daml/*/daml.yaml
Docker builds splice cluster/images/*/Dockerfile

Splice LF config (project/CantonDependencies.scala):

val daml_language_versions = Seq("2.1")  // ← LF target; change to "2.2" for upgrade
val daml_compiler_version = sys.env("DAML_COMPILER_VERSION")

Package ID Derivation

Package IDs are cryptographic hashes of: source content + LF version (--target) + SDK/stdlib version + dependency package IDs.

Changing LF version = different package IDs = incompatible packages. Canton validates that upgraded packages use equal or newer LF version; mixing LF versions on the same ledger causes validation failures.

Enterprise vs Community Canton

Feature Enterprise Community
Transaction processing Parallel Sequential
Database PostgreSQL, Oracle PostgreSQL only
HA Domain Supported Embedded only
Pruning Full Limited

Build Commands

# Community Canton participant
cd canton && sbt "community/app/assembly"
# Output: community/app/target/scala-2.13/canton-community.jar

# Splice applications (requires DAML_COMPILER_VERSION env var)
cd decentralized-canton-sync && sbt compile

Upgrading to LF 2.2 (Verified with SDK 3.4.9)

  1. project/CantonDependencies.scala: val daml_language_versions = Seq("2.2")
  2. nix/daml-compiler-sources.json: { "version": "3.4.9" }
  3. All daml/*/daml.yaml: set sdk-version: 3.4.9 and --target=2.2
  4. Remove -Wno-ledger-time-is-alpha from all daml.yaml files (not in SDK 3.4.9)
  5. Build: daml build -p daml/splice-util && daml build -p daml/splice-amulet

Community-built DARs have identical package IDs to enterprise at the same LF version (verified 2025-12-24).

Troubleshooting

"Unknown Daml-LF version: 2.2": damlc binary doesn't support 2.2. Check daml damlc --help for supported targets; upgrade to SDK 3.4.9.

Package ID mismatch: different --target values between builds. Check: unzip -p package.dar META-INF/MANIFEST.MF | grep Sdk-Version

Upgrade validation failed: swapping enterprise (LF 2.2) with community (LF 2.1) packages. Use DAR injection to maintain LF 2.2 compatibility.

References