light-sdk について
Anchor または Pinocchio で Solana プログラムを開発する人向けの Light SDK 開発スキルです。圧縮アカウントの実装パターン、DeFi 統合、非アクティブなアカウントをオンチェーンに読み込む方法を紹介します。
主な機能
- 01Anchor と Pinocchio のパターン
- 02PDA とトークンアカウント作成のガイド
- 03圧縮・展開ハンドラー
- 04DeFi ルーター統合のリファレンス
- 05ホット・コールドアカウントモデルのガイド
- 06クライアント SDK とテストのリファレンス
活用シーン
- 01Light を使った Solana プログラムの構築
- 02Anchor または Pinocchio のパターン選択
- 03DeFi ルーターやアグリゲーターの統合
- 04圧縮アカウントのオンチェーンへの再読み込み
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lightprotocol/ skills --skill light-sdkインストール後、Claude Code で/light-sdkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/anchor.mdclient-sdk.mdfaq.mdinstructions.mdpinocchio.mdrouter.mdspl-to-light.mdtesting.md詳細
Rent-Free Solana プログラム
Light SDK は、PDA、トークンアカウント、ミントのレンタル免除費用を負担します。プログラムのロジックは、ほとんど変更する必要がありません。
| レンタル費用(アカウントあたり) | Solana / SPL | Light SDK |
|---|---|---|
| トークンアカウント | ~2,000,000 lamports | ~11,000 lamports |
| DeFi プールの平均 | ~$2 | ~$0.02 |
ワークフロー
- 意図を明確にする
- プランモードが有効でない場合は、有効にすることを推奨します
AskUserQuestionを使用して不明点を解消します- 実行前にすべての質問を解決する必要があります
- 参照資料とスキルを特定する
- 以下のドメイン別参照資料とタスクを照合します
- 関連するドキュメントと例を探します
- プランファイルを作成する(YAML タスク形式)
- 不明点がある場合は
AskUserQuestionを使用します。推測や思い込みで補ってはいけません - ブロッカーを特定します:権限、依存関係、不明点
- 実行を開始する前に、プランを完成させる必要があります
- 不明点がある場合は
- 実行する
Taskツールとサブエージェントを使用して、調査を並行して進めます- サブエージェントは
Skillツールでスキルを読み込みます TodoWriteで進捗を追跡します
- 行き詰まった場合:
Read、Glob、Grep、DeepWiki MCP アクセスを使うサブエージェントを起動し、skills/ask-mcpを読み込みます
ドメイン別参照資料
| 対象 | 参照資料 |
|---|---|
| Anchor パターン | references/anchor.md |
| Pinocchio パターン | references/pinocchio.md |
| クライアント SDK(LightProgramInterface) | references/client-sdk.md |
| テスト | references/testing.md |
| CPI 命令 | references/instructions.md |
| SPL と Light の比較 | references/spl-to-light.md |
| FAQ | references/faq.md |
| ルーター連携 | references/router.md |
どちらを使うべきか
| 基準 | Anchor | Pinocchio |
|---|---|---|
| フレームワーク | anchor-lang 0.31、#[light_program] マクロ | pinocchio 0.9、LightProgramPinocchio derive |
| 状態構造体 | Option<CompressionInfo> + LightAccount derive | CompressionInfo(非オプション)+ bytemuck::Pod + Zeroable + #[repr(C)] |
| アカウント作成 | #[light_account(init, ...)] 属性または CreateTokenAccountCpi | CreateTokenAccountCpi、CreateMints バッチパターン |
| 圧縮/展開ハンドラー | #[light_program] マクロが自動生成 | エントリーポイントで ProgramAccounts::COMPRESS_ACCOUNTS_IDEMPOTENT などにルーティング |
| プログラム ID 定数 | 不要(マクロが導出します) | pub const ID: Pubkey = pubkey_array!(...) + LIGHT_CPI_SIGNER が必須 |
| 依存関係 | light-sdk、light-sdk-macros、light-token、light-anchor-spl | light-account-pinocchio、light-token-pinocchio、bytemuck |
DeFi 連携
DeFi プログラム(AMM、レンディング、ボールト)では、上記の Anchor および Pinocchio のパターンをそのまま適用できます。DeFi 固有の参照資料:
| タスク | 参照資料 |
|---|---|
| ルーター/アグリゲーター連携(コールドアカウントの読み込み) | references/router.md |
| LightProgramInterface トレイト(ルーター向けクライアント SDK) | references/client-sdk.md |
ホットとコールドのモデル
長期間アクティビティがない場合(複数のエポックにわたって書き込みがない場合)、アカウントは自動的にコールド状態へ圧縮されます。プログラムはホットアカウントのみを操作します。クライアントは create_load_instructions を介して、コールドアカウントをオンチェーンに読み込みます。
| ホット(アクティブ) | コールド(非アクティブ) | |
|---|---|---|
| ストレージ | オンチェーン | 圧縮済み |
| レイテンシ | 通常 | +0-200ms |
| Tx サイズ | 通常 | +100-2400 bytes |
| CU | 通常 | +15k-400k CU |
| プログラムコード | 変更なし | 変更なし |
ホットパスのオーバーヘッドはゼロです。
外部リファレンス
| リソース | リンク |
|---|---|
| Anchor AMM リファレンス | cp-swap-reference |
| Pinocchio スワップリファレンス | pinocchio-swap |
| Anchor カウンター(レンタル不要の PDA) | basic-macros/counter |
| Pinocchio カウンター(ゼロコピー PDA) | pinocchio/counter |
SDK リファレンス
| パッケージ | リンク |
|---|---|
light-sdk | docs.rs |
light-sdk-macros | docs.rs |
light-sdk-pinocchio | docs.rs |
light-token | docs.rs |
light-token-pinocchio | docs.rs |
light-account-pinocchio | docs.rs |
light-token-client | docs.rs |
light-client | docs.rs |
light-program-test | docs.rs |
セキュリティ
このスキルは外部のシークレットを取得、保存、送信しません。コードパターン、ドキュメントのリファレンス、開発ガイダンスのみを提供します。
- 認証情報は使用しません。 このスキルに API キー、秘密鍵、署名シークレットは必要ありません。
env: []が明示的に宣言されています。 - ユーザー提供の設定。 RPC エンドポイント、ウォレットのキーペア、認証トークン(Privy、ウォレットアダプター)はユーザー自身のアプリケーションコードで設定します。このスキルはその使用方法を示すだけです。
- インストール元。
npx skills add Lightprotocol/skillsは公開 GitHub リポジトリ(Lightprotocol/skills)からインストールします。実行する前にソースを確認してください。 - サブエージェントの範囲。 このスキルは、
Read、Glob、Grepを使用してローカルリポジトリを検索する読み取り専用のサブエージェントを起動する場合があります。作業ディレクトリはプロジェクトに限定してください。 - 監査済みプロトコル。 Light Protocol のスマートコントラクトは独立して監査されています。レポートは github.com/Lightprotocol/light-protocol/tree/main/audits で公開されています。
コメント
Markdown 対応