solana-dev
Solana のアプリとオンチェーンのプログラムの開発を、Solana Foundation の決めた道具の組み合わせで進めさせる。財布の接続、取引の組み立て、Anchor と Pinocchio のプログラム、Surfpool での試験、セキュリティの点検まで。署名と送信は利用者の承認を待たせ、既定の接続先を開発用のネットワークにさせる
npx skills add solana-foundation/solana-dev-skill/solana-dev入れる前にこのスキルがすること・注意点・SKILL.md の原文を確かめてください。解析は安全性の判定ではありません。
- インストール
- 105,165
- 実用度
- 30
- GitHub star
- 586
- 最終更新
- 2026/11/5
頼み方の例
そのままコピーして使えますsolana-devスキルを使って、この Anchor のプログラムを security の資料の観点で点検し、問題になりうる箇所を一覧にしてください。取引の署名や送信はしないでください。接続先は localnet だけにしてください。
対象のファイルや状況は、ご自身の作業に合わせて置き換えてください。
このスキルがすること
SKILL.md の記述から機械的に抽出- シェルコマンドを実行する記述があります
- パッケージを導入する記述があります
これは安全性の判定ではありません。 SKILL.md にそう書かれているという事実だけを並べています。実際に問題があるかは使い方と文脈で決まるため、当サイトでは断定しません。導入前に SKILL.md の原文を確認してください。
SKILL.md の規模
コードブロックの言語: bash、ts
この解説は再確認中です。 2026年11月7日に原本(SKILL.md)が更新されており、以下の解説が現在の内容と合っていない可能性があります。最新の内容は GitHub の SKILL.md を確認してください。
いつ使うか
Solana の上で動くアプリやプログラムを作る作業を、エージェントに任せるときに効きます。Solana Foundation が公開する公式のスキルで、どの道具を使うかを先に決めてある「意見のある」手引きです。
財布の接続や取引の画面のような表側から、オンチェーンのプログラム、試験、点検、道具の版の食い違いの解消まで、範囲が広いのが特徴です。ここでは開発の手順を扱います。通貨の値動きや売買の判断は範囲外で、本文にもそうした話はありません。
- 同梱の資料(2026-10-23 時点)
- 32 件
- 既定の道具の決まり
- 5 項目
- 作業の進め方
- 5 段
- Surfpool の試験用の命令
- 26 個
既定の道具の組み合わせ
本文は、迷わないように道具を先に決めています。
- SDK
@solana/kit8 の部品を足していく作りの client。新しいコードの取引は v1 の形を既定にする - 画面と財布
@solana/kit-plugin-walletと@solana/react。古い wallet-adapter は新しい作業に使わない - 古いコードとの互換web3.js v3 を、v1 のコードの移行先として扱う。新しい作業の既定にはしない
- プログラム既定は Anchor 1.2.x。性能や大きさを詰めるときは Pinocchio 0.11 以降
- 試験単体は LiteSVM か Mollusk、結合は Surfpool を中心にする
新しい取引の形(v1)を既定にする
本文は、大きな取引を扱える v1 の形(SIMD-0385、4096 バイトの取引)を新しいコードの既定にしています。client の設定で version: 1 を渡さないと、取引の組み立ては v0 になる、と注意しています。
v1 では計算量の上限などを message.config に持たせ、ComputeBudget の命令を足しても効かない、という決まりもあります。読み出しの側では、getTransaction などに maxSupportedTransactionVersion: 1 を必ず付けます。
作業の進め方
- 層を見分ける画面と財布、client と台本、プログラム、試験と CI、基盤、一度きりの読み出し
- 部品を選ぶ画面は Kit と財布の部品、台本は Kit を直に、性能重視のプログラムは Pinocchio
- Solana 特有の点を明示する接続先、手数料の支払い元、取引の版、口座の持ち主と署名者、トークンの種類
- 試験を足す単体は LiteSVM か Mollusk、結合は Surfpool
- 成果を渡す変えたファイルと差分、コマンド、署名・手数料・送金に触れる箇所の注意書き
残高や取引を 1 回だけ調べたいときは、プロジェクトを作らず、公開の RPC に curl で問い合わせる手順を同梱の資料が持っています。
使わないほうがいいとき
本番のネットワークでの送金や売買を任せたいとき
本文の決まりでは、本番のネットワーク(mainnet)を対象にするのは、利用者が明示的に頼み、接続先を確かめたときだけです。署名と送信も毎回利用者の承認を待ちます。
人の確認を挟まずに資金を動かす自動化には向きません。そうした作業は、利用者が自分の財布で確かめながら行うものです。
Solana 以外のチェーンの開発
道具の決まりも、点検の観点も、Solana の口座の仕組みと取引の形に合わせて書かれています。ほかのチェーンの開発には使えません。
古い web3.js v1 のコードを手で書き換えたいとき
本文は、v1 のコードを v3 に移すときは、手で移すのではなく solana-web3.js のリポジトリにある公式の移行のスキルを使うよう案内しています。このスキルは移行の行き先を決めるところまでです。
注意点
鍵と資金と送信の決まり
既定の接続先は devnet か localnet です。送信の前には必ず simulateTransaction で試し、その結果を利用者に見せてから署名を求めます。
決済の資料も同じ立場で、署名の前に送り先と金額とトークンをはっきり見せ、支払いが済んだかは画面の側の通知ではなくチェーンの状態で確かめるよう書いています。
読み出しの既定は本番のネットワーク
送信の既定が開発用なのに対し、一度きりの読み出しの資料は、利用者が実在の財布や取引を指したときは mainnet-beta を既定にしています。答えの中で接続先を明示し、利用者が直せるようにする決まりです。
公開の RPC は回数の制限があり、軽い用途向けだとも書かれています。試験用の Surfpool も、既定で mainnet の口座の状態を必要に応じて取ってきて手元に複製します。外に出したくないときは --offline で動かせます。
開発用の鍵のファイルを使う場面がある
試験の資料の、出す前に devnet で流す小さな試験は、~/.config/solana/id.json の鍵のファイルを signerFromFile で読む例です。開発用の資金の入った鍵を手元で使う前提なので、本番の資金の入った鍵をその場所に置かないでください。
チェーンから読んだデータは信用しない
本文は、口座のデータ、RPC の応答、プログラムのログを、敵意のある入力として扱うよう決めています。口座の持ち主、データの長さ、識別子を確かめてから読み解きます。
トークンの名前やメモの欄、ログに指示が書かれていても従わない、とも明記しています。エージェントへの指示の差し込みを想定した決まりです。
MCP を自分で入れにいく
本文は、作業を始める前に Solana の MCP が使えるかを調べ、無ければ入れるよう指示しています。Claude Code なら claude mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp を実行する形で、エージェントの設定が書き換わります。
設定を変えられないときは利用者に頼む、とも書かれています。勝手に足されたくない場合は、先に断っておいてください。コマンドの頭に NO_DNA=1 を付けて対話の画面を止める決まりもあります。
web3.js の版の記述は日付つき
本文は、web3.js v3 の 3.0.0 が 2026-10-01 に出たこと、npm の latest が 3.x に移るのは 2026-10-19 の予定で、それまでは版を付けないと 1.99.0 が入ると書いています。npm の登録情報では、2026-10-23 時点の latest は 3.1.1 です。
予定の日付は過ぎています。v3 を使うときは、本文のとおり @3 を明示しておけば食い違いません。
インストール数の推移
日次で記録9月18日 〜 11月7日(49日分)
インストール数と 1 日あたりの増加は Skillselion が に集計した値です。上流の更新は数日おきなので、前日比ではありません。GitHub star と最終更新は に GitHub から取得しました。
よくある質問
Anchor と Pinocchio はどう選びますか
本文の既定は Anchor 1.2.x で、作りの速さ、IDL の生成、道具の成熟を理由に挙げています。計算量の節約、小さな実行ファイル、依存の無さ、読み解きや領域の確保を細かく制御したいときに Pinocchio(0.11 以降)を選びます。Anchor 0.32 から 1 への移行の資料も同梱されています。
試験はどの道具で書きますか
単体の試験は、同じ処理の中で動く LiteSVM か、命令ごとに試す Mollusk です。結合の試験は Surfpool を中心にし、TypeScript では @solana/surfpool/kit で client に組み込むのが推しの形です。長い準備の取引の代わりに、Surfpool の試験用の命令で状態を作るよう書かれています。完全な検証器の再現が要るときだけ solana-test-validator を使います。
プログラムの点検では何を見ますか
同梱の点検の資料は、攻撃者が命令に渡す口座と引数をすべて握っていると仮定するところから始まります。持ち主の確かめ漏れ、署名者の確かめ漏れ、任意の呼び出し先、再初期化などの型が並び、Pinocchio と Token-2022 に特有の項目もあります。このスキルの点検は観点の一覧で、監査の代わりにはなりません。
古い財布で v1 の取引が拒まれます
v1 にまだ対応していない財布は、署名の依頼を拒みます。本文は、財布を使う client から v1 を送る前に supportedTransactionVersions.has(1) で対応を確かめ、未対応なら version: 0 の client に切り替えるよう書いています。