RPC blockchain và docs MCP cho các framework Agent

Cấu hình RPC blockchain cho ElizaOS, viem, wagmi và Coinbase AgentKit, đồng thời khám phá các khả năng qua docs MCP.

Cấu hình RPC blockchain trong ElizaOS, viem, wagmi hoặc Coinbase AgentKit theo các ví dụ bên dưới. Nhà phát triển và AI Agent có thể dùng docs MCP để khám phá các phương thức và tài liệu trước, sau đó làm theo quy trình đăng ký qua HTTP riêng để tạo API key. Dùng API key này trong các yêu cầu RPC và Data API hoặc trong header x-api-key của MCP client cho các công cụ yêu cầu key; truy cập RPC không cần key chỉ giới hạn ở public.methods của từng chuỗi.

ElizaOS

Trong elizaOS, các tương tác EVM được xử lý bởi plugin @elizaos/plugin-evm. Plugin đọc endpoint của nhà cung cấp RPC từ các biến môi trường có tên theo mẫu ETHEREUM_PROVIDER_<NETWORK>, hoặc biến dự phòng EVM_PROVIDER_URL.

Cấu hình tệp .env với private key của ví và các endpoint RPC:

# EVM wallet private key for signing transactions
export EVM_PRIVATE_KEY=0x...

# Dedicated endpoints with 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}

# Keyless public RPC endpoint
# export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/public

Thêm @elizaos/plugin-evm vào cấu hình nhân vật của agent:

{
  "name": "DeFiAgent",
  "plugins": ["@elizaos/plugin-evm"]
}

viem

Trong viem, cấu hình transport của client bằng http() hoặc webSocket().

Transport HTTP với API key

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}`),
});

Transport HTTP với endpoint công khai không cần key

Đối với yêu cầu đọc dùng các phương thức công khai được phép mà không cần API 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"),
});

Transport WebSocket

Transport WebSocket (webSocket(...)) được hỗ trợ trên các chuỗi có ws: true trong GET /v1/chains, chẳng hạn 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}`),
});

Để biết các tham số kết nối và loại đăng ký, xem hướng dẫn đăng ký WebSocket.

wagmi

Trong wagmi, truyền RPC URL của BlockVectra vào ánh xạ transports bên trong createConfig.

Cấu hình với 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}`),
  },
});

Cấu hình với endpoint công khai không cần 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 dùng các wallet provider để thực hiện thao tác on-chain. Trong TypeScript, ViemWalletProvider từ @coinbase/agentkit bọc một WalletClient viem tiêu chuẩn, cho phép thực thi giao dịch và truy vấn RPC qua các endpoint BlockVectra.

Cấu hình với 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,
});

Đối với thao tác đọc dùng các phương thức được phép, cấu hình http("https://api.blockvectra.com/v1/eth_mainnet/public").

MCP từ xa

Nếu agent của bạn kết nối qua Model Context Protocol (Streamable HTTP MCP), hãy kết nối tới endpoint của MCP server BlockVectra:

https://docs.blockvectra.com/mcp

Để xem hướng dẫn cấu hình client cho Claude Code, Cursor, VS Code, Codex, Gemini CLI, OpenAI Responses API và Windsurf, xem Kết nối từ MCP client trong hướng dẫn AI agent.

Các bước tiếp theo

Cập nhật lần cuối:

Trên trang này