mcpField
D
defi-protocols

defi-protocols

github.com/alphaonedev開発48 回インストール
リポジトリ

defi-protocols について

defi-protocolsは、DeFi開発、コントラクト監査、プロトコル連携向けの知識スキルで、スマートコントラクト、トークン、分散型融資を扱います。Web3.jsやEthers.js、オンチェーン照会、トランザクションシミュレーションの実践知識を含みます。

主な機能

  1. 01スマートコントラクト状態の読み書き
  2. 02ERC-20とERC-721トークンの管理
  3. 03融資金利と借入上限の照会
  4. 04エクスプローラーAPIによるオンチェーン分析
  5. 05Hardhatによるトランザクションのシミュレーション

活用シーン

  1. 01DeFiアプリとプロトコル連携の開発
  2. 02スマートコントラクトの操作や脆弱性の監査
  3. 03トークン送金と承認の処理
  4. 04コントラクトのデプロイと取引フローのテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill defi-protocols

インストール後、Claude Code で/defi-protocolsを入力して読み込まれたか確認します。

詳細

defi-protocols

目的

このスキルは、AI に DeFi プロトコルの専門知識を提供し、Ethereum や Binance Smart Chain などのブロックチェーン上で、スマートコントラクト、トークン、分散型レンディングを正確に扱えるようにします。

使用する場面

DeFi アプリの開発、スマートコントラクトの監査、トークン管理、レンディングプロトコルの統合に関するタスクで、このスキルを使用します。リアルタイムのコーディングシナリオで、ブロックチェーン取引、イールドファーミング、プロトコルの脆弱性に対処する場合に適用します。

主な機能

  • Web3.js や Ethers.js ライブラリを使用してスマートコントラクトとやり取りし、状態を読み書きします。
  • ERC-20/ERC-721 トークンを管理します。これには送金や承認が含まれます。
  • Aave や Compound などのプロトコルを通じた分散型レンディングに対応し、金利や借入限度額を照会します。
  • Etherscan API エンドポイント(例:/api?module=account&action=balance)などのブロックエクスプローラーからオンチェーンデータを分析します。
  • Hardhat などのツールで取引をシミュレートし、スマートコントラクトをテストします。

使用パターン

このスキルを使用するには、コードで Web3 プロバイダーを初期化し、API キーの環境変数を設定します。たとえば、Node.js スクリプトで Web3 をインポートし、ネットワークに接続します。

const Web3 = require('web3');
const web3 = new Web3(process.env.RPC_URL || 'http://localhost:8545');

DeFi 固有のタスクでは、コントラクトとのやり取りを try-catch ブロックで囲み、デコードには ABI ファイルを使用します。Aave を照会する際は、コントラクトアドレスと関数シグネチャを指定してプールデータを取得します。

一般的なコマンド/API

  • CLI:コントラクトのデプロイには Hardhat を使用します:npx hardhat run scripts/deploy.js --network sepolia --api-key $ETHEREUM_API_KEY。
  • API:コントラクト呼び出しには、eth_call などのエンドポイントを通じて Ethereum JSON-RPC を使用します:curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{...}],"id":1}' $RPC_URL。
  • Aave API:GraphQL クエリを使用して、GET https://api.thegraph.com/subgraphs/name/aave/protocol-v2 からレンディングプールを照会します。
  • 設定形式:ABI を JSON ファイルに保存します。例:{ "abi": [{ "name": "balanceOf", "inputs": [...] }] }。fs.readFileSync('abi.json') で読み込みます。
  • トークンとのやり取り:Ethers.js を使用して送金します:contract.methods.transfer(address, amount).send({ from: walletAddress })。

統合に関する注意事項

署名者オブジェクトを扱う Web3 プロバイダーを使用して、このスキルを MetaMask などのウォレットと統合します。認証には、Infura や Alchemy などのサービス向けに $ETHEREUM_API_KEY のような環境変数を設定します。他のスキルと組み合わせる場合は、ブロックチェーンネットワークを統一するなどして互換性を確保してください(例:DeFi と一般的なブロックチェーンタスクの両方で Web3.js を使用します)。Chainlink などのオラクルでは、コントラクトをインポートし、DeFi ロジックを実行する前に getPrice などの関数を呼び出します。

エラー処理

Ethers.js で TransactionError を確認し、取引のリバートなどの一般的なエラーに対処します:try { await contract.methods.borrow().send(); } catch (error) { if (error.reason.includes('insufficient collateral')) console.log('Add more collateral'); }。API の失敗については、ステータスコード(レート制限を示す 429 など)を確認し、指数バックオフで再試行します。ブロックチェーンのエラーには、イベントリスナーを使用します。例:contract.events.ErrorOccurred().on('data', handleError)。レンディングプロトコルでのリエントランシーなどの攻撃を防ぐため、必ず入力を検証してください。

具体的な使用例

  1. Aave レンディングプールを照会する: トークンの利用可能な流動性を確認するには、次の Ethers.js スニペットを使用します:const pool = await ethers.getContractAt('ILendingPool', '0x...'); const liquidity = await pool.getReserveData(tokenAddress); console.log(liquidity.availableLiquidity.toString());。必要な API アクセスには $AAVE_SUBGRAPH_KEY を設定します。
  2. シンプルなトークンコントラクトをデプロイする: Hardhat プロジェクトで npx hardhat compile を実行し、続けて npx hardhat deploy --network mumbai を実行します。設定は hardhat.config.js に次のように記述します:module.exports = { networks: { mumbai: { url: process.env.RPC_URL, accounts: [process.env.PRIVATE_KEY] } } };。これにより、DeFi で使用する ERC-20 トークンがデプロイされます。

グラフの関連性

  • 関連:ethereum(ブロックチェーンクラスターを共有)、smart-contracts(コントラクトのインタラクションで重複)、tokens(ERC 標準に重点を置く)。
  • 接続経路:より広範なエコシステムにアクセスするためのブロックチェーンクラスター。
  • 依存関係:融資の詳細には、aave などのプロトコルが必要です。

コメント