Gunakan RPC blockchain di Agent Coinbase AgentKit dengan BlockVectra

Alihkan pembacaan dan transaksi Agent Coinbase AgentKit melalui BlockVectra dengan memberi ViemWalletProvider klien viem di endpoint publik tanpa API key, lalu tambahkan API key dan alat MCP.

Coinbase AgentKit mengirim aksi onchain-nya melalui wallet provider, dan ViemWalletProvider menerima WalletClient viem apa pun. Berikan https://api.blockvectra.com/v1/base_mainnet/public sebagai transport klien tersebut dan lalu lintas RPC AgentKit memakai BlockVectra tanpa API key. API key menambahkan metode lainnya; Paket Gratis memberi 30,000,000 CU per jendela 30 hari. Diperiksa pada .

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);

Instal dengan npm install @coinbase/agentkit @coinbase/agentkit-langchain viem. tools adalah daftar yang diberikan integrasi LangChain AgentKit ke createAgent({ model, tools }); private key dompet tetap berada di lingkungan Anda.

Gunakan API key

Endpoint publik hanya melayani metode dalam public.methods setiap chain. Untuk metode lainnya, kirim API key dalam header x-api-key dan simpan di lingkungan, sehingga tidak pernah muncul di URL:

const transport = http("https://api.blockvectra.com/v1/base_mainnet", {
  fetchOptions: { headers: { "x-api-key": process.env.BLOCKVECTRA_API_KEY! } },
});

Jika klien tidak dapat mengatur header, API key dapat diletakkan di path URL (/v1/{chain}/{api_key}); URL dapat berakhir di log akses, jadi utamakan header.

Buat API key tanpa browser dengan empat langkah dalam panduan pendaftaran terprogram: challenge, tanda tangan, login, lalu POST /keys. Pengembang juga dapat membuat API key di konsol. Satu API key berlaku di semua chain, sehingga memindahkan Agent ke jaringan lain hanya mengubah slug chain dan objek chain viem.

Gabungkan aksi AgentKit dengan server MCP dokumentasi

Paket TypeScript AgentKit menyediakan aksinya sebagai alat LangChain, sehingga alat MCP dari adapter LangChain masuk ke array tools yang sama. Ikuti panduan LangChain untuk memuat https://docs.blockvectra.com/mcp, lalu gabungkan:

const agent = createAgent({ model: "claude-sonnet-5", tools: [...tools, ...(await adapter.listTools())] });

Agent mendapatkan aksi dompet AgentKit ditambah list_chains, get_status, rpc_call, dan read_doc dari BlockVectra, yang tercantum di halaman server MCP. Untuk terhubung tidak diperlukan API key.

Error yang mungkin Anda lihat

ResponsArtiYang harus dilakukan
HTTP 401, -32024, missing_api_keyPermintaan yang memerlukan API key dikirim tanpa API keyKirim API key dalam header x-api-key (atau path URL)
HTTP 401, -32024, invalid_api_keyAPI key tidak dikenal, dinonaktifkan, atau dicabutPeriksa API key di konsol; API key baru memerlukan beberapa detik untuk aktif
-32601, method_not_publicMetode tidak ada di public.methods chainGanti transport tersebut dari /public ke URL dengan API key

Setiap error BlockVectra memuat data.reason dan docs_url; daftar lengkapnya ada di halaman error.

Dokumentasi resmi

Pertanyaan umum

Apakah BlockVectra melihat private key dompet? Tidak. Akun viem menandatangani secara lokal; endpoint hanya menerima pembacaan dan transaksi mentah yang sudah ditandatangani.

Dapatkah Agent membaca log melalui endpoint publik? Tidak. eth_getLogs dan Data API memerlukan API key.

Apakah API key diletakkan di argumen alat MCP? Tidak. Simpan di lingkungan atau header klien MCP.

Langkah selanjutnya

Terakhir diperbarui:

Di halaman ini