ใช้ blockchain RPC ใน ElizaOS agent ด้วย BlockVectra
ชี้ plugin-evm ของ ElizaOS ไปที่ BlockVectra ด้วยตัวแปรสภาพแวดล้อมสองตัว เริ่มต้นโดยไม่ใช้คีย์บน endpoint สาธารณะ แล้วเพิ่ม docs MCP server ผ่าน plugin-mcp
ElizaOS agent เข้าถึงเชน EVM ผ่าน @elizaos/plugin-evm ซึ่งอ่าน RPC URL จากสภาพแวดล้อม ตั้ง EVM_PROVIDER_URL เป็น https://api.blockvectra.com/v1/eth_mainnet/public แล้วปลั๊กอินจะใช้ BlockVectra สำหรับ Ethereum mainnet โดยไม่ต้องใช้ API key แผนบริการฟรีเพิ่มเมธอดที่ต้องใช้คีย์ด้วย 30,000,000 CU ต่อช่วงเวลา 30 วัน ตรวจสอบเมื่อ
# .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 mainnet เปิดใช้งานโดยค่าเริ่มต้น; เชนอื่นทุกเชนที่คุณระบุใน settings.chains.evm ต้องใช้ชื่อ export ของ viem/chains และตัวแปร URL ของเชนนั้นคือ ETHEREUM_PROVIDER_<CHAIN_NAME> เป็นตัวพิมพ์ใหญ่ ตามที่ระบุใน README บน npm ของปลั๊กอิน
ใช้ API key
endpoint สาธารณะครอบคลุมเฉพาะเมธอดใน public.methods ของแต่ละเชน สำหรับเมธอดที่เหลือ ให้ใส่คีย์ในพาธของ URL (/v1/{chain}/{api_key}) ปลั๊กอินรับเพียง URL จึงเป็นที่เดียวที่คีย์เดินทางในพาธ ให้ export ตัวแปรในเชลล์ที่เริ่ม agent เพื่อไม่ให้คีย์ไปอยู่ในไฟล์ที่คุณ 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 อาจปรากฏในบันทึก พร็อกซี และข้อความข้อผิดพลาด ดังนั้นให้ใช้คีย์แยกต่างหากที่มี cu_cap ต่ำสำหรับ agent และเพิกถอนในคอนโซลหากรั่วไหล
หากต้องการสร้างคีย์โดยไม่ใช้เบราว์เซอร์ ให้ทำตามสี่ขั้นตอนในคู่มือการลงทะเบียนแบบเป็นโปรแกรม: challenge, ลายเซ็น, login แล้ว POST /keys นักพัฒนายังสร้างคีย์ในคอนโซลได้ด้วย คีย์เดียวกันใช้ได้กับทุกเชน ดังนั้นคีย์เดียวรองรับทุกตัวแปร ETHEREUM_PROVIDER_*
เพิ่ม docs MCP server
@elizaos/plugin-mcp ให้ตัวละครใช้ MCP server ระยะไกลผ่าน Streamable HTTP ติดตั้งด้วย bun add @elizaos/plugin-mcp แล้วลงทะเบียน BlockVectra docs server ในการตั้งค่าตัวละคร:
{
"plugins": ["@elizaos/plugin-evm", "@elizaos/plugin-mcp"],
"settings": {
"mcp": {
"servers": {
"blockvectra": { "type": "streamable-http", "url": "https://docs.blockvectra.com/mcp" }
}
}
}
}จากนั้น agent เรียก list_chains, get_status, rpc_call, read_doc และเครื่องมืออื่นที่ระบุไว้ในหน้า MCP serverได้โดยไม่ต้องใช้คีย์ ตัวเลือก 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 เป็นรูปแบบที่ใช้คีย์ |
| ไม่รู้จักเชน | ชื่อใน settings.chains.evm ไม่ตรงกับชื่อใน viem/chains | ใช้ชื่อ viem/chains ที่ถูกต้องตรงตัว |
ทุกข้อผิดพลาดของ BlockVectra มี data.reason และ docs_url; รายการทั้งหมดอยู่ในหน้าข้อผิดพลาด
เอกสารทางการ
คำถามที่พบบ่อย
EVM_PROVIDER_URL ใช้กับ Base ได้หรือไม่ ไม่ได้ ตัวแปรนี้ตั้งค่าเฉพาะ Ethereum mainnet; เชนอื่นใช้ ETHEREUM_PROVIDER_<CHAIN_NAME>
agent ลงนามและส่งธุรกรรมผ่าน endpoint สาธารณะได้หรือไม่ eth_sendRawTransaction อยู่ใน public.methods ของเชนที่ระบุไว้ โดยมีขีดจำกัดอัตราต่อ IP ที่ต่ำกว่าของตัวเองภายใต้ public.send_raw_rate_limit ใน GET /v1/chains อ่านขีดจำกัดที่นั่นก่อนสร้างระบบบนฟีเจอร์นี้
MCP server ต้องใช้คีย์หรือไม่ ไม่ต้อง การเชื่อมต่อและเครื่องมือเอกสาร เชน และราคาไม่ต้องใช้คีย์
ขั้นตอนถัดไป
- ภาพรวมเฟรมเวิร์ก agent สำหรับ LangChain, viem, wagmi และ Coinbase AgentKit
- เชื่อมต่อ AI Agent เพื่อค้นหา endpoint ด้วย MCP, llms.txt และ OpenAPI
- กฎการเรียกเก็บเงิน สำหรับการวัด CU ขีดจำกัดอัตรา และข้อผิดพลาดที่ไม่คิดค่าบริการ
อัปเดตล่าสุด:
LangChain
ให้ LangChain agent เข้าถึงข้อมูลบล็อกเชนแบบสดด้วยเครื่องมือเดียวผ่าน endpoint สาธารณะของ BlockVectra ที่ไม่ต้องใช้คีย์ จากนั้นเพิ่ม docs MCP server และ API key สำหรับเมธอดที่ต้องใช้คีย์
Coinbase AgentKit
ส่งการอ่านและธุรกรรมของ Coinbase AgentKit agent ผ่าน BlockVectra โดยให้ ViemWalletProvider ใช้ viem client บน endpoint สาธารณะที่ไม่ต้องใช้คีย์ แล้วเพิ่ม API key และเครื่องมือ MCP