Usar RPC blockchain en agentes de ElizaOS con BlockVectra
Apunte el plugin-evm de ElizaOS a BlockVectra con dos variables de entorno, empiece sin clave en el endpoint público y añada el servidor MCP de documentación mediante plugin-mcp.
Los agentes de ElizaOS acceden a las cadenas EVM mediante @elizaos/plugin-evm, que lee sus URL de RPC del entorno. Establezca EVM_PROVIDER_URL en https://api.blockvectra.com/v1/eth_mainnet/public y el plugin usará BlockVectra para Ethereum mainnet sin API key. El plan gratuito añade los métodos con clave, con 30,000,000 CU por ventana de 30 días. Verificado el .
# .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"] } }
}Instale el plugin con bun add @elizaos/plugin-evm. Ethereum mainnet está habilitada por defecto; cada otra cadena que liste en settings.chains.evm debe usar el nombre de su export de viem/chains, y su variable de URL es ETHEREUM_PROVIDER_<CHAIN_NAME> en mayúsculas, como indica el README del plugin en npm.
Usar una API key
Los endpoints públicos solo cubren los métodos de public.methods de cada cadena. Para el resto, ponga la clave en la ruta de la URL (/v1/{chain}/{api_key}). El plugin solo acepta una URL, así que este es el único caso en que la clave viaja en la ruta. Exporte las variables en el shell que inicia el agente para que la clave nunca acabe en un archivo que suba al repositorio:
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}Las URL pueden aparecer en registros, proxies y mensajes de error, así que use una clave aparte con un cu_cap bajo para el agente y revóquela en la consola si se filtra.
Para crear la clave sin navegador, siga los cuatro pasos de la guía de registro programático: desafío, firma, inicio de sesión y después POST /keys. Los desarrolladores también pueden crear una clave en la consola. La misma clave funciona en todas las cadenas, así que una sola clave sirve para cada variable ETHEREUM_PROVIDER_*.
Añadir el servidor MCP de documentación
@elizaos/plugin-mcp permite que un personaje use servidores MCP remotos mediante Streamable HTTP. Instálelo con bun add @elizaos/plugin-mcp y registre el servidor de documentación de BlockVectra en los ajustes del personaje:
{
"plugins": ["@elizaos/plugin-evm", "@elizaos/plugin-mcp"],
"settings": {
"mcp": {
"servers": {
"blockvectra": { "type": "streamable-http", "url": "https://docs.blockvectra.com/mcp" }
}
}
}
}El agente podrá entonces llamar, sin clave, a list_chains, get_status, rpc_call, read_doc y las demás herramientas listadas en la página del servidor MCP. Las opciones HTTP documentadas del plugin son type, url y timeout; no documenta ninguna opción de encabezados, por lo que las herramientas MCP con clave quedan fuera de alcance con esta configuración. Mantenga las lecturas con clave en plugin-evm, como se indicó arriba.
Errores que puede encontrar
| Respuesta | Significado | Qué hacer |
|---|---|---|
HTTP 401, -32024, missing_api_key | Se llamó a una URL con clave sin enviar clave | Poner la clave en la ruta o en el encabezado x-api-key |
HTTP 401, -32024, invalid_api_key | Clave desconocida, desactivada o revocada | Comprobar la clave en la consola; una clave nueva tarda unos segundos en activarse |
-32601, method_not_public | El método no está en public.methods de la cadena | Cambiar la URL de esa cadena de /public a la forma con clave |
| Cadena no reconocida | El nombre en settings.chains.evm no coincide con un nombre de viem/chains | Usar el nombre exacto de viem/chains |
Cada error de BlockVectra incluye data.reason y un docs_url; la lista completa está en la página de errores.
Documentación oficial
- Documentación de ElizaOS
- elizaos/eliza en GitHub
@elizaos/plugin-evmen npm@elizaos/plugin-mcpen npm
Preguntas frecuentes
¿Se aplica EVM_PROVIDER_URL a Base? No. Solo establece Ethereum mainnet; las demás cadenas usan ETHEREUM_PROVIDER_<CHAIN_NAME>.
¿Puede un agente firmar y enviar transacciones a través del endpoint público? eth_sendRawTransaction está en public.methods para las cadenas que lo listan, con su propio límite de velocidad por IP más bajo en public.send_raw_rate_limit de GET /v1/chains. Lea el límite ahí antes de construir sobre él.
¿Necesito una clave para el servidor MCP? No. Conectarse y las herramientas de documentación, cadenas y precios no requieren clave.
Próximos pasos
- Resumen de frameworks de agentes para LangChain, viem, wagmi y Coinbase AgentKit.
- Conectar un agente de IA para descubrir endpoints con MCP, llms.txt y OpenAPI.
- Reglas de facturación para la medición de CU, los límites de velocidad y los errores no facturados.
Última actualización:
Precios diarios de DEX
Consulta precios OHLC y VWAP diarios de DEX en la Data API, maneja fracciones racionales exactas en TypeScript y Python y carga datos históricos de forma eficiente.
Estado histórico EVM
Distinga las ventanas de estado autenticadas, el historial sin clave y la amplitud de logs. Elija un bloque fijo para eth_call y diagnostique errores state_window.