Dùng RPC blockchain trong Agent ElizaOS với BlockVectra

Trỏ plugin-evm của ElizaOS tới BlockVectra bằng hai biến môi trường, bắt đầu không cần key trên endpoint công khai, rồi thêm máy chủ MCP tài liệu qua plugin-mcp.

Agent ElizaOS truy cập các chuỗi EVM qua @elizaos/plugin-evm, plugin đọc URL RPC từ biến môi trường. Đặt EVM_PROVIDER_URL thành https://api.blockvectra.com/v1/eth_mainnet/public và plugin sẽ dùng BlockVectra cho Ethereum mainnet mà không cần API key. Gói miễn phí bổ sung các phương thức cần key với 30,000,000 CU cho mỗi cửa sổ 30 ngày. Kiểm tra ngày .

# .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"] } }
}

Cài plugin bằng bun add @elizaos/plugin-evm. Ethereum mainnet được bật theo mặc định; mọi chuỗi khác bạn liệt kê trong settings.chains.evm phải dùng đúng tên export của viem/chains, và biến URL của nó là ETHEREUM_PROVIDER_<CHAIN_NAME> viết hoa, như trong README trên npm của plugin.

Dùng API key

Endpoint công khai chỉ bao phủ các phương thức trong public.methods của từng chuỗi. Với phần còn lại, đặt key vào đường dẫn URL (/v1/{chain}/{api_key}). Plugin chỉ nhận một URL, nên đây là nơi duy nhất key đi qua đường dẫn. Export các biến trong shell khởi chạy Agent để key không bao giờ rơi vào tệp bạn commit:

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 có thể xuất hiện trong log, proxy và thông báo lỗi, vì vậy hãy dùng một key riêng với cu_cap thấp cho Agent, và thu hồi nó trong console nếu bị lộ.

Để tạo key mà không cần trình duyệt, làm theo bốn bước trong hướng dẫn đăng ký bằng chương trình: challenge, chữ ký, đăng nhập, rồi POST /keys. Nhà phát triển cũng có thể tạo key trong console. Cùng một key dùng được trên mọi chuỗi, nên một key phục vụ mọi biến ETHEREUM_PROVIDER_*.

Thêm máy chủ MCP tài liệu

@elizaos/plugin-mcp cho phép một character dùng các máy chủ MCP từ xa qua Streamable HTTP. Cài bằng bun add @elizaos/plugin-mcp, rồi đăng ký máy chủ tài liệu BlockVectra trong phần cài đặt của character:

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

Khi đó Agent có thể gọi list_chains, get_status, rpc_call, read_doc và các công cụ khác được liệt kê trên trang máy chủ MCP, không cần key. Các tùy chọn HTTP được plugin ghi trong tài liệu là type, url và timeout; plugin không ghi tùy chọn header nào, nên các công cụ MCP cần key không dùng được từ cấu hình này. Giữ các lệnh đọc cần key trong plugin-evm như trên.

Các lỗi bạn có thể gặp

Phản hồiÝ nghĩaCần làm
HTTP 401, -32024, missing_api_keyURL dùng key được gọi mà không có keyĐặt key vào đường dẫn hoặc header x-api-key
HTTP 401, -32024, invalid_api_keyKey không tồn tại, đã bị vô hiệu hóa hoặc đã bị thu hồiKiểm tra key trong console; key mới cần vài giây để kích hoạt
-32601, method_not_publicPhương thức không nằm trong public.methods của chuỗiChuyển URL của chuỗi đó từ /public sang dạng dùng key
Chain not recognisedTên trong settings.chains.evm không khớp tên nào trong viem/chainsDùng đúng tên trong viem/chains

Mỗi lỗi của BlockVectra có data.reason và docs_url; danh sách đầy đủ nằm trên trang lỗi.

Tài liệu chính thức

Câu hỏi thường gặp

EVM_PROVIDER_URL có áp dụng cho Base không? Không. Nó chỉ đặt Ethereum mainnet; các chuỗi khác dùng ETHEREUM_PROVIDER_<CHAIN_NAME>.

Agent có thể ký và gửi giao dịch qua endpoint công khai không? eth_sendRawTransaction nằm trong public.methods của những chuỗi liệt kê nó, với giới hạn tốc độ theo IP thấp hơn riêng tại public.send_raw_rate_limit trong GET /v1/chains. Hãy đọc giới hạn ở đó trước khi xây dựng dựa vào nó.

Tôi có cần key cho máy chủ MCP không? Không. Việc kết nối và các công cụ tài liệu, chuỗi và giá đều không cần key.

Bước tiếp theo

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

Trên trang này