Blockchain-RPC in ElizaOS-Agenten mit BlockVectra nutzen

Richten Sie das plugin-evm von ElizaOS mit zwei Umgebungsvariablen auf BlockVectra aus, starten Sie schlüssellos am öffentlichen Endpunkt und fügen Sie den Docs-MCP-Server über plugin-mcp hinzu.

ElizaOS-Agenten erreichen EVM-Chains über @elizaos/plugin-evm, das seine RPC-URLs aus der Umgebung liest. Setzen Sie EVM_PROVIDER_URL auf https://api.blockvectra.com/v1/eth_mainnet/public, und das Plugin nutzt BlockVectra für Ethereum Mainnet ohne API key. Der Free Plan ergänzt Methoden mit Key-Pflicht mit 30,000,000 CU pro 30-Tage-Fenster. Geprüft am .

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

Installieren Sie das Plugin mit bun add @elizaos/plugin-evm. Ethereum Mainnet ist standardmäßig aktiviert; jede weitere Chain in settings.chains.evm muss ihren Exportnamen aus viem/chains verwenden, und ihre URL-Variable lautet ETHEREUM_PROVIDER_<CHAIN_NAME> in Großbuchstaben, wie in der README des Plugins auf npm.

Einen API key verwenden

Öffentliche Endpunkte decken nur die Methoden in den public.methods der jeweiligen Chain ab. Für alle anderen setzen Sie den Key in den URL-Pfad (/v1/{chain}/{api_key}). Das Plugin nimmt nur eine URL entgegen, daher reist der Key hier ausnahmsweise im Pfad. Exportieren Sie die Variablen in der Shell, die den Agenten startet, damit der Key nie in einer Datei landet, die Sie committen:

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}

URLs können in Logs, Proxys und Fehlermeldungen auftauchen. Verwenden Sie daher für den Agenten einen eigenen Key mit niedrigem cu_cap und widerrufen Sie ihn in der Konsole, falls er offengelegt wird.

Um den Key ohne Browser zu erstellen, folgen Sie den vier Schritten im Leitfaden zur programmatischen Registrierung: Challenge, Signatur, Login, dann POST /keys. Entwickler können auch in der Konsole einen Key erstellen. Derselbe Key funktioniert auf jeder Chain, daher bedient ein Key jede ETHEREUM_PROVIDER_*-Variable.

Den Docs-MCP-Server hinzufügen

@elizaos/plugin-mcp lässt einen Character entfernte MCP-Server über Streamable HTTP nutzen. Installieren Sie es mit bun add @elizaos/plugin-mcp und registrieren Sie dann den BlockVectra-Docs-Server in den Character-Einstellungen:

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

Der Agent kann dann list_chains, get_status, rpc_call, read_doc und die weiteren Tools von der MCP-Server-Seite schlüssellos aufrufen. Die dokumentierten HTTP-Optionen des Plugins sind type, url und timeout; eine Header-Option ist nicht dokumentiert, daher sind MCP-Tools mit Key-Pflicht mit dieser Konfiguration nicht erreichbar. Lassen Sie Lesezugriffe mit Key-Pflicht wie oben über plugin-evm laufen.

Fehler, die auftreten können

AntwortBedeutungWas zu tun ist
HTTP 401, -32024, missing_api_keyURL mit Key-Pflicht ohne Key aufgerufenDen Key in den Pfad oder den Header x-api-key setzen
HTTP 401, -32024, invalid_api_keyKey unbekannt, deaktiviert oder widerrufenDen Key in der Konsole prüfen; ein neuer Key braucht einige Sekunden bis zur Aktivierung
-32601, method_not_publicMethode steht nicht in den public.methods der ChainDie URL dieser Chain von /public auf die Form mit Key umstellen
Chain not recognisedName in settings.chains.evm passt zu keinem Namen aus viem/chainsDen exakten Namen aus viem/chains verwenden

Jeder BlockVectra-Fehler enthält data.reason und eine docs_url; die vollständige Liste steht auf der Fehlerseite.

Offizielle Dokumentation

Häufige Fragen

Gilt EVM_PROVIDER_URL auch für Base? Nein. Sie legt nur Ethereum Mainnet fest; andere Chains verwenden ETHEREUM_PROVIDER_<CHAIN_NAME>.

Kann ein Agent über den öffentlichen Endpunkt Transaktionen signieren und senden? eth_sendRawTransaction steht für die Chains, die es aufführen, in public.methods, mit einem eigenen, niedrigeren Ratenlimit pro IP unter public.send_raw_rate_limit in GET /v1/chains. Lesen Sie das Limit dort nach, bevor Sie darauf aufbauen.

Brauche ich für den MCP-Server einen Key? Nein. Die Verbindung sowie die Dokumentations-, Chain- und Preis-Tools sind schlüssellos.

Nächste Schritte

Zuletzt aktualisiert:

Auf dieser Seite