smart-contract-development について
VeChainThor向けにSolidityスマートコントラクトを開発するスキルです。記載されたコントラクトのパターンとツールを使う開発者に、VeChain固有の手順、参照資料、検証要件を示します。
主な機能
- 01SolidityとHardhatの開発手順
- 02トークンとアクセス制御のパターンガイド
- 03ガス最適化とセキュリティの資料
- 04HardhatとThor Soloのテストガイド
- 05コンパイル、テスト、リスク記録の確認
活用シーン
- 01VeChainThor向けSolidityコントラクトの開発
- 02アップグレード可能なコントラクトやトークンのパターン確認
- 03Thor Soloを使ったコントラクトのテスト
- 04ガスとセキュリティ上の考慮事項の確認
MCP 対応
VeChainのオンチェーンデータ取得、トランザクション構築、ネットワーク照会には`@vechain/mcp-server`を推奨しています。VeChainドキュメントの検索先としてKapa AI MCPも挙げています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vechain/ vechain-ai-skills --skill smart-contract-developmentインストール後、Claude Code で/smart-contract-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/abi-codegen.mdsecurity.mdsmart-contracts-optimization.mdsmart-contracts.mdtesting.md詳細
スマートコントラクト開発スキル
重要なルール
- まず参照ファイルを読んでください。 ユーザーの依頼が下記の参照表にあるトピックに関係する場合、ほかのことを始める前に、コードを書く前、判断する前に、該当ファイルを読んでください。スキルが有効になっていることをユーザーが確認できるよう、読んでいるファイルを簡潔に伝えてください(例:「スマートコントラクトの参照ファイルを読んでいます……」)。
- VeChain関連のトピックでは、次の優先順位で情報を参照してください。 (a)このスキルの参照ファイル — 常に最優先の情報源です。(b)VeChain MCP ツール — オンチェーンデータ、トランザクションの構築、ライブネットワークへのクエリには
@vechain/mcp-serverを使用し、VeChainドキュメントの検索には Kapa AI MCP を使用してください。(c)ウェブ検索 — 最終手段としてのみ使用し、参照ファイルに記載されていないトピックに限ります。 - VeChain関連のタスクでは、メインの会話内で直接作業することを優先してください。 計画モードやサブエージェントにはスキルのコンテキストが引き継がれないため、参照ファイルを使わずにウェブ検索を行う可能性があります。
- コンテキストの圧縮や喪失の後は、 作業を続ける前に、この SKILL.md を再度読み、参照表と作業手順を確認してください。
対象範囲
VeChainThorでのSolidityスマートコントラクト開発には、このスキルを使用してください。
- Hardhat +
@vechain/sdk-hardhat-pluginを使用したSolidityコントラクト - ERC-20、ERC-721、アクセス制御、アップグレード可能(UUPS)パターン
- ガス最適化の手法
- Hardhat + Thor Solo を使用したテスト
- セキュリティレビューと監査チェックリスト
- ABIコード生成とTypeChainのセットアップ
デフォルトのスタック
| レイヤー | デフォルト | 代替 |
|---|---|---|
| コントラクト | Solidity + Hardhat + @vechain/sdk-hardhat-plugin | -- |
| EVMターゲット | paris(必須) | -- |
| テスト | Hardhat + Thor Solo(--on-demand) | -- |
| 型 | TypeChain(@typechain/ethers-v6) | @vechain/vechain-contract-types(ビルド済み) |
| Node | Node 20 LTS(nvm で管理) | -- |
作業手順
1. Nodeのバージョンを確認する
依存関係をインストールしたり、コマンドを実行したりする前に、次のことを行ってください。
- プロジェクトのルートに
.nvmrcがあるか確認します。ある場合はnvm useを実行し、必要なバージョンに切り替えます。 .nvmrcがない場合は、20(Node 20 LTS)を記述したファイルを作成し、nvm useを実行します。
2. プロジェクト構造を検出する
turbo.jsonがある場合 → Turborepoの規約(packages/contracts、packages/*)に従います。
3. 実装の前に確認する
ユーザーの依頼が曖昧な場合や、複数の解決方法が考えられる場合は、実装に着手する前に質問してください。 調査と実装は分けてください。
4. VeChain固有の正確性を保って実装する
- ネットワーク:必ず明示します(
mainnet/testnet/solo)。 - EVMターゲット:必ず
parisにします。 - ガス:まず見積もります。
- トークン:価値の移転にはVET、ガスにはVTHOを使用します(デュアルトークンモデル)。
5. 検証して完了する
該当するすべての確認項目に合格するまで、タスクは完了していません。
- コードがコンパイルできる — ビルドエラーがないこと
- テストが成功する — 既存のテストが引き続き成功し、新しいロジックにテストカバレッジがあること
- リスクに関する注記を記載する — 署名、手数料、トークン送金に関する影響があれば明記すること
参照ファイル
先に、該当するファイルを読んでください。上記の重要なルールを参照してください。
| トピック | ファイル | ユーザーが次の内容に言及した場合に読む |
|---|---|---|
| スマートコントラクト | references/smart-contracts.md | Solidity、Hardhat、ERC-20、ERC-721、デプロイ、コントラクトとのやり取り、ライブラリ、コントラクトサイズ、アップグレード可能、プロキシ、アップグレード、再初期化、バージョンパターン、デプロイヘルパー、NatSpec、Slither |
| ガス最適化 | references/smart-contracts-optimization.md | ガス、最適化、ストレージパッキング、アセンブリ、unchecked |
| テスト | references/testing.md | テスト、Thor Solo、Docker、CI、フィクスチャ |
| ABI/コード生成 | references/abi-codegen.md | TypeChain、ABI、typechain-types、コード生成 |
| セキュリティ | references/security.md | セキュリティ、監査、脆弱性、リエントランシー、アクセス制御、不変条件、残高チェック、パスの対称性、敵対的、エッジケース、問題が起きる可能性 |
コメント
Markdown 対応