適用於 Agent 框架的區塊鏈 RPC 與文件 MCP
為 AI Agent 與開發框架設定區塊鏈 RPC:在 .env 檔案寫入端點與錢包私鑰,用 viem 的 http() 傳輸層建立連線,免 key 端點只能讀取各鏈的公開方法,帶 key 後才可存取其餘方法與資料集。
使用下列配方在 ElizaOS、viem、wagmi 或 Coinbase AgentKit 中設定區塊鏈 RPC。開發者與 AI Agent 可以先透過文件 MCP探索方法與文件,再依獨立的 HTTP 註冊流程建立 API key。在 RPC 與 Data API 請求中使用該 key,或在 MCP 用戶端的 x-api-key 標頭中用於需要 key 的工具;免 key 的 RPC 存取僅限於各鏈的 public.methods。
ElizaOS
- 官方文件:elizaOS 文件
- 官方儲存庫:elizaos/eliza
在 elizaOS 中,EVM 互動由 @elizaos/plugin-evm 外掛處理。此外掛會從以 ETHEREUM_PROVIDER_<NETWORK> 模式命名的環境變數,或 EVM_PROVIDER_URL 後備變數讀取 RPC 供應商端點。
在 .env 檔案中設定錢包私鑰與 RPC 端點:
# 用於簽署交易的 EVM 錢包私鑰
export EVM_PRIVATE_KEY=0x...
# 使用 API key 的專用端點
export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/${BLOCKVECTRA_API_KEY}
export ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/${BLOCKVECTRA_API_KEY}
# 免 key 的公開 RPC 端點
# export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/public在 Agent 角色設定中包含 @elizaos/plugin-evm:
{
"name": "DeFiAgent",
"plugins": ["@elizaos/plugin-evm"]
}viem
- 官方文件:viem 文件
- 傳輸參考:viem HTTP Transport 與 viem WebSocket Transport
- 官方儲存庫:wevm/viem
在 viem 中,使用 http() 或 webSocket() 設定用戶端傳輸。
使用 API key 的 HTTP 傳輸
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";
export const client = createPublicClient({
chain: mainnet,
transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});使用免 key 公開端點的 HTTP 傳輸
在允許的公開方法上進行無 key 的讀取請求:
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";
export const publicClient = createPublicClient({
chain: mainnet,
transport: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
});WebSocket 傳輸
WebSocket 傳輸(webSocket(...))支援在 GET /v1/chains 中具有 ws: true 的鏈,例如 Robinhood Chain(robinhood_mainnet):
import { createPublicClient, webSocket } from "viem";
export const wsClient = createPublicClient({
transport: webSocket(`wss://api.blockvectra.com/v1/robinhood_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});有關連線參數與訂閱類型,請參閱 WebSocket 訂閱指南。
wagmi
- 官方文件:wagmi createConfig 與 wagmi HTTP Transport
- 官方儲存庫:wevm/wagmi
在 wagmi 中,將 BlockVectra RPC URL 傳入 createConfig 內的 transports 對應表。
使用 API key 的設定
import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";
export const config = createConfig({
chains: [mainnet],
transports: {
[mainnet.id]: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
},
});使用免 key 公開端點的設定
import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";
export const config = createConfig({
chains: [mainnet],
transports: {
[mainnet.id]: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
},
});Coinbase AgentKit
- 官方文件:Coinbase AgentKit 文件
- 官方儲存庫:coinbase/agentkit
Coinbase AgentKit 使用錢包供應商(wallet provider)執行鏈上動作。在 TypeScript 中,@coinbase/agentkit 的 ViemWalletProvider 會包裝標準 viem WalletClient,讓你能將交易執行與 RPC 查詢導向 BlockVectra 端點。
使用 ViemWalletProvider 設定
import { AgentKit, ViemWalletProvider } from "@coinbase/agentkit";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { mainnet } from "viem/chains";
const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`);
const client = createWalletClient({
account,
chain: mainnet,
transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});
const walletProvider = new ViemWalletProvider(client);
export const agentKit = await AgentKit.from({
walletProvider,
});若要在允許的方法上進行讀取操作,請設定 http("https://api.blockvectra.com/v1/eth_mainnet/public")。
遠端 MCP
如果你的 Agent 透過 Model Context Protocol(Streamable HTTP MCP)連線,請連線至 BlockVectra MCP 伺服器端點:
https://docs.blockvectra.com/mcp
關於 Claude Code、Cursor、VS Code、Codex、Gemini CLI、OpenAI Responses API 與 Windsurf 的用戶端設定說明,請參閱 AI Agent 指南中的從 MCP 用戶端連線。
下一步
- 連線 AI Agent:使用 MCP、llms.txt 與 OpenAPI 探索端點。
- 依程式化註冊指南以錢包簽名註冊並建立 API key,或登入控制台建立 key。
- 計費規則:檢閱計算單位(CU)計量、速率限制與不計費的錯誤。
最後更新: