BlockVectra で ElizaOS エージェントからブロックチェーン RPC を使う

環境変数 2 つで ElizaOS の plugin-evm を BlockVectra に向け、キー不要の公開エンドポイントから始めて、plugin-mcp 経由でドキュメント MCP サーバーを追加します。

ElizaOS エージェントは、RPC URL を環境変数から読み取る @elizaos/plugin-evm を通じて EVM チェーンにアクセスします。EVM_PROVIDER_URL に https://api.blockvectra.com/v1/eth_mainnet/public を設定すると、プラグインは API key なしで Ethereum メインネットに BlockVectra を使います。無料プランではキーが必要なメソッドも使え、30 日間の期間ごとに 30,000,000 CU が含まれます。確認日 。

# .env (the plugin also needs the wallet key; keep it in your secret store)
EVM_PRIVATE_KEY=your-wallet-private-key
EVM_PROVIDER_URL=https://api.blockvectra.com/v1/eth_mainnet/public
ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/public
{
  "name": "DeFiAgent",
  "plugins": ["@elizaos/plugin-evm"],
  "settings": { "chains": { "evm": ["base"] } }
}

プラグインのインストールは bun add @elizaos/plugin-evm で行います。Ethereum メインネットはデフォルトで有効です。settings.chains.evm に追加する他のチェーンは viem/chains のエクスポート名を使う必要があり、その URL 変数は大文字の ETHEREUM_PROVIDER_<CHAIN_NAME> です。詳細はプラグインの npm 上の README を参照してください。

API key を使う

公開エンドポイントが対応するのは、各チェーンの public.methods にあるメソッドだけです。それ以外のメソッドには、キーを URL のパス(/v1/{chain}/{api_key})に含めます。プラグインは URL しか受け取らないため、キーがパスで送られるのはここだけです。エージェントを起動するシェルで変数をエクスポートすれば、コミットするファイルにキーが残りません:

export EVM_PROVIDER_URL=https://api.blockvectra.com/v1/eth_mainnet/${BLOCKVECTRA_API_KEY}
export ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/${BLOCKVECTRA_API_KEY}

URL はログ、プロキシ、エラーメッセージに現れることがあります。そのため、エージェント専用に cu_cap を低く設定した別のキーを使い、漏えいした場合はコンソールで失効させてください。

ブラウザーを使わずにキーを作成するには、プログラムによる登録ガイドの 4 ステップ(チャレンジ、署名、ログイン、POST /keys)に従います。開発者はコンソールでキーを作成することもできます。同じキーがすべてのチェーンで使えるため、1 つのキーですべての ETHEREUM_PROVIDER_* 変数をまかなえます。

ドキュメント MCP サーバーを追加する

@elizaos/plugin-mcp を使うと、キャラクターが Streamable HTTP 経由でリモート MCP サーバーを利用できます。bun add @elizaos/plugin-mcp でインストールし、キャラクター設定に BlockVectra のドキュメントサーバーを登録します:

{
  "plugins": ["@elizaos/plugin-evm", "@elizaos/plugin-mcp"],
  "settings": {
    "mcp": {
      "servers": {
        "blockvectra": { "type": "streamable-http", "url": "https://docs.blockvectra.com/mcp" }
      }
    }
  }
}

これでエージェントは、list_chains、get_status、rpc_call、read_doc、および MCP サーバーのページに一覧されている他のツールを、キーなしで呼び出せます。プラグインがドキュメント化している HTTP オプションは type、url、timeout で、ヘッダーのオプションはドキュメントにないため、この設定ではキーが必要な MCP ツールは使えません。キーが必要な読み取りは、上記のとおり plugin-evm で行ってください。

遭遇するエラー

レスポンス意味対応
HTTP 401、-32024、missing_api_keyキーが必要な URL をキーなしで呼び出したキーをパスまたは x-api-key ヘッダーに入れる
HTTP 401、-32024、invalid_api_keyキーが不明、無効化済み、または失効済みコンソールでキーを確認する。新しいキーが有効になるまで数秒かかる
-32601、method_not_publicメソッドがそのチェーンの public.methods にないそのチェーンの URL を /public からキー付きの形式に切り替える
Chain not recognisedsettings.chains.evm の名前が viem/chains の名前と一致しないviem/chains の正確な名前を使う

BlockVectra の各エラーには data.reason と docs_url が含まれます。全一覧はエラーのページにあります。

公式ドキュメント

よくある質問

EVM_PROVIDER_URL は Base にも適用されますか? いいえ。設定されるのは Ethereum メインネットだけで、他のチェーンには ETHEREUM_PROVIDER_<CHAIN_NAME> を使います。

エージェントは公開エンドポイント経由でトランザクションに署名して送信できますか? eth_sendRawTransaction は、これを掲載しているチェーンの public.methods に含まれており、GET /v1/chains の public.send_raw_rate_limit に、IP あたりのより低い専用レート制限があります。利用を前提にする前に、そこで制限を確認してください。

MCP サーバーにキーは必要ですか? いいえ。接続と、ドキュメント、チェーン、料金のツールはキー不要です。

次のステップ

最終更新:

このページの目次