📦 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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
canton-network-repos.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
canton-network-reposフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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 で検証済み)
project/CantonDependencies.scala:val daml_language_versions = Seq("2.2")nix/daml-compiler-sources.json:{ "version": "3.4.9" }- すべての
daml/*/daml.yaml:sdk-version: 3.4.9と--target=2.2を設定します。 - すべての
daml.yamlファイルから-Wno-ledger-time-is-alphaを削除します (SDK 3.4.9 にはありません)。 - ビルド:
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)
project/CantonDependencies.scala:val daml_language_versions = Seq("2.2")nix/daml-compiler-sources.json:{ "version": "3.4.9" }- All
daml/*/daml.yaml: setsdk-version: 3.4.9and--target=2.2 - Remove
-Wno-ledger-time-is-alphafrom alldaml.yamlfiles (not in SDK 3.4.9) - 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.