Gunakan RPC blockchain di Agent ElizaOS dengan BlockVectra

Arahkan plugin-evm ElizaOS ke BlockVectra dengan dua variabel lingkungan, mulai tanpa API key di endpoint publik, dan tambahkan server MCP dokumentasi melalui plugin-mcp.

Agent ElizaOS terhubung ke chain EVM melalui @elizaos/plugin-evm, yang membaca URL RPC-nya dari lingkungan. Atur EVM_PROVIDER_URL ke https://api.blockvectra.com/v1/eth_mainnet/public dan plugin akan memakai BlockVectra untuk Ethereum mainnet tanpa API key. Paket Gratis menambahkan metode yang memerlukan API key dengan 30,000,000 CU per jendela 30 hari. Diperiksa pada .

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

Instal plugin dengan bun add @elizaos/plugin-evm. Ethereum mainnet aktif secara default; setiap chain lain yang Anda cantumkan di settings.chains.evm harus memakai nama ekspor viem/chains-nya, dan variabel URL-nya adalah ETHEREUM_PROVIDER_<CHAIN_NAME> dalam huruf kapital, seperti di README plugin di npm.

Gunakan API key

Endpoint publik hanya mencakup metode dalam public.methods setiap chain. Untuk metode lainnya, letakkan API key di path URL (/v1/{chain}/{api_key}). Plugin hanya menerima URL, sehingga ini satu-satunya tempat API key dikirim lewat path. Ekspor variabel di shell yang memulai Agent agar API key tidak pernah masuk ke file yang Anda 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 dapat muncul di log, proxy, dan pesan error, jadi gunakan API key terpisah dengan cu_cap rendah untuk Agent, dan cabut di konsol jika bocor.

Untuk membuat API key tanpa browser, ikuti empat langkah dalam panduan pendaftaran terprogram: challenge, tanda tangan, login, lalu POST /keys. Pengembang juga dapat membuat API key di konsol. API key yang sama berlaku di semua chain, sehingga satu API key melayani setiap variabel ETHEREUM_PROVIDER_*.

Tambahkan server MCP dokumentasi

@elizaos/plugin-mcp memungkinkan karakter memakai server MCP jarak jauh melalui Streamable HTTP. Instal dengan bun add @elizaos/plugin-mcp, lalu daftarkan server dokumentasi BlockVectra di pengaturan karakter:

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

Agent kemudian dapat memanggil list_chains, get_status, rpc_call, read_doc, dan alat lain yang tercantum di halaman server MCP, tanpa API key. Opsi HTTP yang didokumentasikan plugin adalah type, url, dan timeout; plugin tidak mendokumentasikan opsi header, sehingga alat MCP yang memerlukan API key tidak dapat dijangkau dari konfigurasi ini. Tetap lakukan pembacaan yang memerlukan API key di plugin-evm seperti di atas.

Error yang mungkin Anda lihat

ResponsArtiYang harus dilakukan
HTTP 401, -32024, missing_api_keyURL yang memerlukan API key dipanggil tanpa API keyLetakkan API key di path atau header x-api-key
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 URL chain tersebut dari /public ke bentuk dengan API key
Chain tidak dikenaliNama di settings.chains.evm tidak cocok dengan nama viem/chainsGunakan nama viem/chains yang persis

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

Dokumentasi resmi

Pertanyaan umum

Apakah EVM_PROVIDER_URL berlaku untuk Base? Tidak. Variabel ini hanya mengatur Ethereum mainnet; chain lain memakai ETHEREUM_PROVIDER_<CHAIN_NAME>.

Dapatkah Agent menandatangani dan mengirim transaksi melalui endpoint publik? eth_sendRawTransaction ada di public.methods untuk chain yang mencantumkannya, dengan batas laju per IP sendiri yang lebih rendah di public.send_raw_rate_limit dalam GET /v1/chains. Baca batasnya di sana sebelum membangun di atasnya.

Apakah saya memerlukan API key untuk server MCP? Tidak. Terhubung serta alat dokumentasi, chain, dan harga tidak memerlukan API key.

Langkah selanjutnya

Terakhir diperbarui:

Di halaman ini