ใช้ blockchain RPC ใน Coinbase AgentKit agent ด้วย BlockVectra
ส่งการอ่านและธุรกรรมของ Coinbase AgentKit agent ผ่าน BlockVectra โดยให้ ViemWalletProvider ใช้ viem client บน endpoint สาธารณะที่ไม่ต้องใช้คีย์ แล้วเพิ่ม API key และเครื่องมือ MCP
Coinbase AgentKit ส่งการดำเนินการออนเชนผ่าน wallet provider และ ViemWalletProvider รับ viem WalletClient ใดก็ได้ ให้ client นั้นใช้ https://api.blockvectra.com/v1/base_mainnet/public เป็น transport แล้วทราฟฟิก RPC ของ AgentKit จะใช้ BlockVectra โดยไม่ต้องใช้ API key คีย์ช่วยเพิ่มเมธอดที่เหลือ; แผนบริการฟรีให้ 30,000,000 CU ต่อช่วงเวลา 30 วัน ตรวจสอบเมื่อ
import { AgentKit, ViemWalletProvider } from "@coinbase/agentkit";
import { getLangChainTools } from "@coinbase/agentkit-langchain";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const client = createWalletClient({
account: privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`),
chain: base,
transport: http("https://api.blockvectra.com/v1/base_mainnet/public"),
});
const agentKit = await AgentKit.from({ walletProvider: new ViemWalletProvider(client) });
const tools = await getLangChainTools(agentKit);ติดตั้งด้วย npm install @coinbase/agentkit @coinbase/agentkit-langchain viem tools คือรายการที่การเชื่อมต่อ LangChainของ AgentKit ส่งให้ createAgent({ model, tools }); คีย์กระเป๋าเงินอยู่ในสภาพแวดล้อมของคุณ
ใช้ API key
endpoint สาธารณะให้บริการเฉพาะเมธอดใน public.methods ของแต่ละเชน สำหรับเมธอดอื่น ให้ส่งคีย์ในส่วนหัว x-api-key และเก็บไว้ในสภาพแวดล้อม เพื่อไม่ให้คีย์ปรากฏใน URL:
const transport = http("https://api.blockvectra.com/v1/base_mainnet", {
fetchOptions: { headers: { "x-api-key": process.env.BLOCKVECTRA_API_KEY! } },
});หากไคลเอนต์ตั้งส่วนหัวไม่ได้ สามารถใส่คีย์ในพาธของ URL (/v1/{chain}/{api_key}) แทนได้; URL อาจไปอยู่ในบันทึกการเข้าถึง จึงควรใช้ส่วนหัว
สร้างคีย์โดยไม่ใช้เบราว์เซอร์ด้วยสี่ขั้นตอนในคู่มือการลงทะเบียนแบบเป็นโปรแกรม: challenge, ลายเซ็น, login แล้ว POST /keys นักพัฒนายังสร้างคีย์ในคอนโซลได้ด้วย คีย์เดียวใช้ได้กับทุกเชน ดังนั้นการสลับ agent ไปยังเครือข่ายอื่นเปลี่ยนเพียง slug ของเชนและออบเจกต์เชนของ viem
ใช้การดำเนินการของ AgentKit ร่วมกับ docs MCP server
แพ็กเกจ TypeScript ของ AgentKit เปิดเผยการดำเนินการเป็นเครื่องมือ LangChain ดังนั้นเครื่องมือ MCP จากอะแดปเตอร์ของ LangChain จึงอยู่ในอาร์เรย์ tools เดียวกันได้ ทำตามคู่มือ LangChainเพื่อโหลด https://docs.blockvectra.com/mcp แล้วรวมกัน:
const agent = createAgent({ model: "claude-sonnet-5", tools: [...tools, ...(await adapter.listTools())] });agent จะได้การดำเนินการกระเป๋าเงินของ AgentKit พร้อม list_chains, get_status, rpc_call และ read_doc ของ BlockVectra ที่ระบุไว้ในหน้า MCP server การเชื่อมต่อไม่ต้องใช้คีย์
ข้อผิดพลาดที่คุณอาจพบ
| การตอบกลับ | ความหมาย | สิ่งที่ต้องทำ |
|---|---|---|
HTTP 401, -32024, missing_api_key | ส่งคำขอที่ต้องใช้คีย์โดยไม่มีคีย์ | ส่งคีย์ในส่วนหัว x-api-key (หรือพาธของ URL) |
HTTP 401, -32024, invalid_api_key | ไม่รู้จักคีย์ ถูกปิดใช้งาน หรือถูกเพิกถอน | ตรวจสอบคีย์ในคอนโซล; คีย์ใหม่ใช้เวลาไม่กี่วินาทีจึงจะเปิดใช้งาน |
-32601, method_not_public | เมธอดไม่อยู่ใน public.methods ของเชน | เปลี่ยน transport นั้นจาก /public เป็น URL ที่ใช้คีย์ |
ทุกข้อผิดพลาดของ BlockVectra มี data.reason และ docs_url; รายการทั้งหมดอยู่ในหน้าข้อผิดพลาด
เอกสารทางการ
คำถามที่พบบ่อย
BlockVectra เห็น private key ของกระเป๋าเงินหรือไม่ ไม่เห็น บัญชี viem ลงนามในเครื่อง; endpoint ได้รับเฉพาะการอ่านและธุรกรรมดิบที่ลงนามแล้ว
agent อ่าน log ผ่าน endpoint สาธารณะได้หรือไม่ ไม่ได้ eth_getLogs และ Data API ต้องใช้ API key
คีย์อยู่ในอาร์กิวเมนต์ของเครื่องมือ MCP ได้หรือไม่ ไม่ได้ เก็บไว้ในสภาพแวดล้อมหรือส่วนหัวของไคลเอนต์ MCP
ขั้นตอนถัดไป
- ภาพรวมเฟรมเวิร์ก agent สำหรับ LangChain, ElizaOS, viem และ wagmi
- เชื่อมต่อ AI Agent เพื่อค้นหา endpoint ด้วย MCP, llms.txt และ OpenAPI
- กฎการเรียกเก็บเงิน สำหรับการวัด CU ขีดจำกัดอัตรา และข้อผิดพลาดที่ไม่คิดค่าบริการ
อัปเดตล่าสุด:
ElizaOS
ชี้ plugin-evm ของ ElizaOS ไปที่ BlockVectra ด้วยตัวแปรสภาพแวดล้อมสองตัว เริ่มต้นโดยไม่ใช้คีย์บน endpoint สาธารณะ แล้วเพิ่ม docs MCP server ผ่าน plugin-mcp
การลงทะเบียนแบบเป็นโปรแกรม
นักพัฒนาและ AI agent รับ API key ของบล็อกเชนโดยไม่ต้องใช้เบราว์เซอร์ได้ด้วยการเรียก HTTP สี่ครั้ง: SIWE challenge, ลายเซ็นกระเป๋าเงิน, การเข้าสู่ระบบ และ POST /keys การลงทะเบียนให้ 30,000,000 CU โดยไม่ต้องชำระเงินก่อน