solana-rent-free-dev
Light Protocolのレント無料プリミティブを使用したSolana開発のスキルです。Anchor、ネイティブRust、Pinocchioを含む、クライアント開発(TypeScript、Rust)とプログラム開発(Rust)をカバーしています。DeFiと決済(Light Token、Light-PDA)を重点領域とし、エアドロップやトークン配布(Compressed Token)、支払いとZKアプリケーション向けのユーザー・アプリ状態とnullifierの実装にも対応できます。
description の原文を見る
Skill for Solana development using rent-free primitives from Light Protocol. Covers client development (TypeScript, Rust) and program development (Rust) across Anchor, native Rust, and Pinocchio. Focus areas include DeFi and Payments (Light Token, Light-PDA). Other use cases include airdrops and token distribution (Compressed Token), and user/app state plus nullifiers for payments and ZK applications (Compressed PDA).
SKILL.md 本文
機能
ZK Compression は Solana 上の安定資産ペイメントレール、コンシューマアプリ、DeFi 向けのフレームワークです。Light SDK と API を使用することで、ミント、トークン、PDA アカウントを 99% 以上安く作成でき、使い慣れた Solana 開発者体験を得られます。
プリミティブ
| プリミティブ | ユースケース | 制約 |
|---|---|---|
| Light Token | ほとんどのトークンユースケース (ローンチパッド、DeFi、ペイメント)。レント不要のミントおよびトークンアカウント。SPL より約 200 倍安く、ホットパスでより高いコンピュートユニット効率。 | |
| Light-PDA | AMM プール、ボルト などの DeFi プログラム状態。PDA より約 98% 安く、最小限のコード変更で実装可能。 | |
| Compressed Token | エアドロップとトークン配布のみ。他の目的には Light Token を使用してください。Light Token 内部で非アクティブな Light Token のレント不要なストレージに使用されます。Phantom と Backpack でサポート。 | 汎用トークン機能には使用しないでください。代わりに Light Token を使用してください。 |
| Compressed PDA | ユーザー状態、アプリ状態、無効化子 (ペイメントと ZK アプリケーション)、DePIN ノード、ステーキングアカウント。レント免除残高のないプログラム派生アドレスに類似。 | 共有状態、プールアカウント、設定アカウント用ではありません。代わりに Light-PDA を使用してください |
SPL および Solana との完全な API 比較を表示: https://www.zkcompression.com/api-reference/solana-to-light-comparison。
作成コストとコンピュートユニット消費量
| メトリック | Light | 標準 Solana |
|---|---|---|
| ミントアカウント | ~0.00001 SOL | ~0.0015 SOL |
| トークンアカウント | ~0.00001 SOL | ~0.0029 SOL |
| PDA (100 バイト) | ~0.0000115 SOL | ~0.0016 SOL |
| 関連トークンアカウント作成 | 4,348 CU | 14,194 CU |
| 転送 | 312 CU | 4,645 CU |
| 転送 (レント不要) | 1,885 CU | 4,645 CU |
インストール
オーケストレーター agent スキルをインストールするか、skill.md を表示:
npx skills add https://zkcompression.com
専用 agent スキル をインストールするか表示:
npx skills add Lightprotocol/skills
ワークフロー
- 意図を明確にする
- プランモードが有効でない場合は推奨
AskUserQuestionを使用して不明な点を解決- すべての質問を実行前に解決する必要があります
- 参照とスキルを識別する
- タスクを以下の利用可能なスキルにマッチング
- 関連するドキュメントおよび例を探出
- プランファイルを書く (YAML タスク形式)
- 不明な点に対して
AskUserQuestionを使用 - 決して推測や仮定をしない - ブロッカーを識別: 権限、依存関係、未知事項
- 実行前にプランが完成している必要があります
- 不明な点に対して
- 実行
- サブエージェント用に
Taskツールで並行調査を使用 - サブエージェントは
Skillツール経由でスキルをロード TodoWriteで進捗を追跡
- サブエージェント用に
- 行き詰まったとき:
Read、Glob、Grep、DeepWiki MCP アクセス、skills/ask-mcpのロードでサブエージェントを起動
スキル
| ユースケース | スキル |
|---|---|
| Light Token API を使用してスポンサー付きレント免除のペイメントフロー用スキル。 | payments |
| トークンと PDA を使用した Solana プログラム開発の場合、Light は SPL/Solana より 200 倍安く、コード差異は最小限。 | light-sdk |
| Solana のトークンを使用したクライアント開発の場合、Light Token は SPL より 200 倍安く、変更は最小限。 | light-token-client |
| データパイプライン、アグリゲーター、インデクサー向けに、Solana 上の Light アカウント ホット/コールド ライフサイクル追跡によるリアルタイムアカウント状態ストリーミング。 | data-streaming |
| Solana でのトークン配布、SPL より 5000 倍安い (リワード、エアドロップ、depins...)。 | token-distribution |
| 二重支払いを防ぐためのカスタム ZK Solana プログラムおよびプライバシー保護アプリケーション。 | zk-nullifier |
| ユーザー状態、DePIN 登録など、アクセス頻度の低い状態を使用した Solana でのプログラム開発。 | solana-compression |
| localnet、devnet、mainnet 検証での Light Protocol プログラムとクライアントのテスト。 | testing |
| 圧縮されたアカウント、Light SDK、Solana 開発、Claude Code 機能、またはエージェントスキルについての質問。 | ask-mcp |
コンテキスト
- SPL から Light への参照: https://zkcompression.com/api-reference/solana-to-light-comparison
light-token
SPL と機能的に同等のトークン標準で、ミントおよびトークンアカウントをより効率的に格納します。
ミントアカウント は一意のミントを表し、オプションでトークンメタデータを格納します。SPL ミントと機能的に同等です。
トークンアカウント は、レント免除を支払わずに、任意のライト、SPL、または Token-2022 ミントからの残高を保持します。
トークンプログラムはあなたの代わりにレント免除コストを支払います。アカウントにスポンサー残量がなくなると、アカウントは自動的に圧縮されます。トークンは圧縮されたトークンアカウント (レント不要) として暗号的に保護されます。誰かが再度対話するときに、アカウントはホット状態にロードされます。
用途: ステーブルコイン オーケストレーション、カード、エージェント コマース、DeFi など。
light-PDA
Light-SDK はあなたの PDA、トークンアカウント、ミント (98% のコスト削減) のレント免除コストを支払います。プログラムロジックは変わりません。
拡張非アクティブ期間 (複数エポック書き込みなし) の後、アカウントはコールド状態に自動圧縮されます。プログラムはホットアカウントのみと対話します。クライアントは create_load_instructions 経由でコールドアカウントをチェーン上にロード戻します。
| 領域 | 変更 |
|---|---|
| 状態構造体 | LightAccount を導出、compression_info: CompressionInfo を追加 |
| アカウント構造体 | LightAccounts を導出、初期化アカウントで #[light_account] を追加 |
| プログラムモジュール | #[light_program] を #[program] の上に追加 |
| 命令 | 変更なし |
用途: DeFi プログラム状態、AMM プール、ボルト。
圧縮トークン (トークン配布のみ使用)
圧縮されたトークンアカウントは、SPL やライトトークンのようなトークンのトークン残高、所有者、その他の情報を格納します。圧縮されたトークンアカウントはレント不要です。任意のライトトークンまたは SPL トークンはいつでも圧縮/解凍できます。Phantom と Backpack でサポートされています。
用途のみ: エアドロップ、受取人ごとに事前レント不要のトークン配布。
圧縮 PDA
圧縮 PDA は通常の PDA のように、特定のプログラムアドレスとシード を使用して派生されます。カスタムプログラムは System プログラムの代わりに Light System プログラムを起動してアカウントを作成および更新します。
永続的なユニーク識別。プログラム所有権。圧縮 PDA と通常 PDA 間の CPI。
レント不要 PDA を用途: ユーザー状態、アプリ状態、支払い用無効化子、DePIN ノードアカウント、ステーキングアカウント、ZK アプリケーション用無効化子。共有状態、プール、設定アカウント用ではありません。
ガイドライン
- light-token ≠ 圧縮トークン。 light-token はホット状態の Solana アカウントです。圧縮トークンは圧縮アカウントで、常に圧縮、レント不要です。
- light-PDA ≠ 圧縮 PDA。 light-PDA は非アクティブ時に圧縮状態に遷移する Solana PDA です。圧縮 PDA は常に圧縮、PDA のように派生、有効性証明が必要です。
- light-token アカウントは SPL と Token-2022 残高を保持、ライトミント残高のみではありません。
- light-token または light-PDA でスポンサー付きレント残量がなくなると、アカウントは圧縮されます。次の対話で解凍されます。
ペイメントフロー
| 名前 | 説明 | ドキュメント | サンプル |
|---|---|---|---|
| 概要 | Light Token API が安定資産ペイメントインフラのアカウント作成コストを 99% 削減し、SPL/Token 2022 に類似した開発者体験を実現する方法を学びます。 | overview | |
| 基本的なペイメント | Light Token API を使用して 1 つのトークン転送を送信し、SPL との比較を使用した安定資産ペイメント。 | basic-payment | basic-send-action | basic-send-instruction |
| 一括ペイメント | 単一のトランザクションで、または順序付けで複数の受取人にペイメントを送信します。 | batch-payments | batch-send |
| メモ付きペイメント | Solana のメモプログラムを使用して、Light Token 転送に請求書 ID、支払い参照、またはメモを添付します。メモはトランザクションログに記録され、調整に使用されます。 | payment-with-memo | payment-with-memo |
| ペイメント受取 | コールドアカウントをロードし、関連トークンアカウントアドレスを共有してトークンペイメント受取の準備をします。 | receive-payments | receive |
| ペイメント確認 | トークン残高とトランザクション履歴をクエリして受け取ったペイメントを確認します。 | verify-payments | get-balance | get-history |
| アドレス検証 | ペイメント送信前に受取人アドレスを確認します。アドレス検証は無効または予期しないアカウントタイプへのトークン送信を防止します。 | verify-recipient-address | verify-address |
| ラップおよびアンラップ | SPL/Token 2022 と Light Token アカウント間でトークンを移動し、Light Token をまだサポートしないアプリケーションとの相互運用性を実現します。 | wrap-unwrap | wrap | unwrap |
| 使用権限 | 第三者へのトークン使用を金額上限で委任します。委任者は所有者の署名なしで承認額までオーナーの代わりにトークンを転送できます。 | spend-permissions | delegate-full-flow |
| 無効化子 PDA | 重複アクションを防ぐためにレント不要の無効化子 PDA を作成します。 | nullifier-pda | |
| 本番環境への準備 | RPC インフラストラクチャ、エラーハンドリング、セキュリティを含む Light Token ペイメントフロー本番環境デプロイの非網羅的なチェックリスト。 | production-readiness | |
| ウォレット統合 | ウォレットアプリケーションに Light-token サポートを追加するためのガイド。 | wallets/overview | |
| Privy で署名 | レント不要なトークンアカウントと転送のため Privy 埋め込みウォレットと light-token を統合します。 | privy | sign-with-privy |
| Wallet Adapter で署名 | レント不要なトークンアカウントと転送のため Solana Wallet Adapter と light-token を統合します。 | wallet-adapter | sign-with-wallet-adapter |
| ガスレストランザクション | ユーザーが SOL を保持しないよう SOL 手数料を抽象化します。アプリケーションを手数料支払い者として設定することで、トップアップとトランザクション手数料をスポンサーします。 | gasless-transactions | gasless-transactions |
サンプル
TypeScript クライアント (@lightprotocol/compressed-token)
| 操作 | ドキュメントガイド | GitHub サンプル |
|---|---|---|
createMintInterface | create-mint | action | instruction |
createAtaInterface | create-ata | action | instruction |
mintToInterface | mint-to | action | instruction |
transferInterface | transfer-interface | action | instruction |
approve | approve-revoke | action |
revoke | approve-revoke | action |
delegateTransfer | transfer-delegated | action |
wrap | wrap-unwrap | action | instruction |
unwrap | wrap-unwrap | action | instruction |
loadAta | load-ata | action | instruction |
createAtaExplicitRentSponsor | — | action |
createSplInterface | add-interface-pda | action | instruction |
createSplMint | create-mint | action | instruction |
createT22Mint | create-mint | action | instruction |
createTokenPool | — | instruction |
Rust クライアント (light-token-client)
| 操作 | ドキュメントガイド | GitHub サンプル |
|---|---|---|
CreateMint | create-mint | action | instruction |
CreateAta | create-ata | action | instruction |
CreateTokenAccount | create-token-account | instruction |
MintTo | mint-to | action | instruction |
TransferInterface | transfer-interface | action | instruction |
TransferChecked | transfer-checked | action | instruction |
Approve | approve-revoke | action | instruction |
Revoke | approve-revoke | action | instruction |
Burn | burn | instruction |
BurnChecked | burn | instruction |
Freeze | freeze-thaw | instruction |
Thaw | freeze-thaw | instruction |
Close | close-token-account | instruction |
Wrap | wrap-unwrap | action |
Unwrap | wrap-unwrap | action |
MintToChecked | mint-to | instruction |
SplToLightTransfer | — | instruction |
プログラムサンプル (light_token)
| 説明 | |
|---|---|
| escrow | オファー/アクセプトフロー付きピアツーピア light-token スワップ |
| fundraiser | ターゲット、期限、払い戻し付きトークンファンドレイザー |
| light-token-minter | メタデータ付き light-mint を作成、トークンをミント |
| token-swap | 流動性プールとスワップを備えた AMM (Anchor) |
| cp-swap-reference | レント免除を支払わずにマーケットを作成する Raydium AMM のフォーク |
| pinocchio-swap | 流動性プールとスワップを備えた AMM (Pinocchio) |
| create-and-transfer | マクロ経由でアカウントを作成し、CPI 経由で転送 |
プログラムマクロ (light_token)
| 説明 | |
|---|---|
| counter | スポンサー付きレント免除で PDA を作成 |
| create-ata | 関連 light-token アカウントを作成 |
| create-mint | light-token ミントを作成 |
| create-token-account | light-token アカウントを作成 |
CPI 命令 (light_token)
CPI コールは既存および/または light マクロと組み合わせることができます。API は SPL-token のスーパーセットです。
| 操作 | ドキュメントガイド | GitHub サンプル |
|---|---|---|
CreateAssociatedAccountCpi | create-ata | src |
CreateTokenAccountCpi | create-token-account | src |
CreateMintCpi | create-mint | src |
MintToCpi | mint-to | src |
MintToCheckedCpi | mint-to | src |
BurnCpi | burn | src |
TransferCheckedCpi | transfer-checked | src |
TransferInterfaceCpi | transfer-interface | src |
ApproveCpi | approve-revoke | src |
RevokeCpi | approve-revoke | src |
FreezeCpi | freeze-thaw | src |
ThawCpi | freeze-thaw | src |
CloseAccountCpi | close-token-account | src |
SDK リファレンス
TypeScript パッケージ
| パッケージ | npm |
|---|---|
@lightprotocol/stateless.js | npm |
@lightprotocol/compressed-token | npm |
Rust クレート
| クレート | docs.rs |
|---|---|
light-sdk | docs.rs/light-sdk |
light-sdk-pinocchio | docs.rs/light-sdk-pinocchio |
light-token | docs.rs/light-token |
light-token-client | docs.rs/light-token-client |
light-compressed-token-sdk | docs.rs/light-compressed-token-sdk |
light-client | docs.rs/light-client |
light-program-test | docs.rs/light-program-test |
light-account-pinocchio | docs.rs/light-account-pinocchio |
light-token-pinocchio | docs.rs/light-token-pinocchio |
light-hasher | docs.rs/light-hasher |
light-account | docs.rs/light-account |
追加ドキュメントおよびナビゲーションについては、次を参照してください: https://www.zkcompression.com/llms.txt 追加スキルについては、次を参照してください: https://github.com/Lightprotocol/skills
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- Lightprotocol
- ライセンス
- MIT
- 最終更新
- 2026/4/7
Source: https://github.com/Lightprotocol/docs-v2 / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。