Zum Inhalt springen

Viem

Viem ist eine TypeScript-Bibliothek für EVM-Netzwerke mit Clients für Lesezugriffe, Wallets und Tests. Sie leitet Typen aus dem ABI ab und erlaubt die Simulation von Aufrufen; Konfiguration und Nachverfolgung von Transaktionen bleiben Aufgabe der Anwendung. Sie ermöglicht die Trennung von Abfragen und Signaturen in Oberflächen, SDKs und Backend-Diensten.

Verfasst von Isaac GonzálezAktualisiert am 11. Oktober 2026

Kernpunkte

  • Viem nutzt TypeScript, um Aufrufe und Ergebnisse anhand des Contract-ABI zu typisieren.
  • Es trennt Lese-, Signatur- und Test-Clients nach ihrer Zuständigkeit.
  • Simulation und Typisierung helfen, Fehler zu erkennen, garantieren aber nicht die künftige Ausführung.

Was ist Viem?

Viem ist eine TypeScript-Bibliothek für die Interaktion mit Ethereum und EVM-Netzwerken. Ihre API trennt Abfrage-, Signatur- und Testfunktionen und leitet Typen aus dem ABI eines Contracts ab. Sie lässt sich in einem Frontend, einem SDK oder einem Backend-Dienst einsetzen, ohne von React abzuhängen.

Diese Typableitung hilft, Funktionsnamen oder Argumente zu erkennen, die nicht zum deklarierten ABI passen. Sie prüft weder, ob die konfigurierte Adresse diesen Contract enthält, noch ob externe Daten korrekt sind. Die Qualität der Integration hängt auch von Konfiguration und Validierungen zur Laufzeit ab.

So funktioniert es

Ein Public Client fragt den Zustand ab und simuliert Aufrufe; ein Wallet Client fordert Signaturen an oder sendet autorisierte Operationen. Transports verbinden über HTTP, WebSocket oder benutzerdefinierte Provider. Netzwerk und Konto explizit zu wählen hilft zu vermeiden, dass eine Operation für ein anderes Ziel vorbereitet wird als das, welches die Wallet verwendet.

Die Simulation eines Schreibvorgangs kann Reverts erkennen und eine Anfrage vorbereiten, die zum abgefragten Zustand passt. Das Senden bleibt ein eigener Schritt und kann fehlschlagen, wenn sich Guthaben, Berechtigungen oder Bedingungen des Contracts ändern. Die Anwendung muss den Receipt verfolgen und darf die Simulation nicht als abgeschlossene Ausführung darstellen.

Was Viem leistet

Ein Protokoll-SDK kann Funktionen bereitstellen, die ABI, Adresse und erwartete Einheiten enthalten, und so wiederkehrende Entscheidungen für die nutzenden Teams reduzieren. Die Antworten behalten bigint, wo es angebracht ist, und werden über explizite Regeln in Transportformate umgewandelt. Die Dokumentation erklärt, wie Beträge und Fehler zu interpretieren sind.

Leseaktionen lassen sich bündeln, wenn Abhängigkeiten und Umgebung es erlauben. Für kritische Operationen wird der Block oder die zeitliche Referenz der verwendeten Daten festgehalten. Das hilft, eine Entscheidung zu reproduzieren und zu erkennen, ob verschiedene Lesevorgänge inkompatible Zustände beschreiben.

Grenzen und Auswahlkriterien

Die Modularität erleichtert es dem Bundler, nicht genutzten Code zu entfernen, die endgültige Größe hängt jedoch von Importen und Konfiguration ab. Einen universellen Einsparungsprozentsatz gegenüber Ethers gibt es nicht. Die Auswahl sollte vorhandene Clients, Typisierungsanforderungen und die Wartung durch das Team berücksichtigen.

Alternative Transports helfen bei Ausfällen, allerdings können zwei Provider mit unterschiedlichen Blockhöhen oder Zuständen antworten. Die Anwendung muss Netzwerk und Aktualität prüfen, Wiederholungen begrenzen und verlorene Events rekonstruieren. Typen und eine gute API verringern bestimmte Fehler, ersetzen aber keine Tests des Signatur- und Bestätigungspfads.

Auch bekannt als

  • viem.sh
  • Viem client
  • Wevm Viem
Einsatz bei Metlabs

Wie wir ein Projekt mit Viem angehen

Entwicklungskompetenzen und Anwendungsfälle, um zu bewerten, wie Viem in Ihr Produkt passt.

Was wir bei Metlabs mit Viem entwickeln

  • Typisierte Clients

    Public-, Wallet- und Test-Clients mit Typisierung, die aus dem ABI und der gewählten Chain abgeleitet wird.

  • Bundle-Performance

    Tree-Shaking, das die Frontend-Größe reduziert, indem nur geladen wird, was genutzt wird.

  • Aus dem ABI abgeleitete Typen

    Wir konfigurieren das ABI als Konstante, damit TypeScript Parameter und Rückgabewerte ableitet und Integrationsfehler beim Kompilieren abfängt.

  • Anwendungsfall

    Typisiertes Protokoll-SDK

    An Dritte verteilte Client-Bibliothek, die jede Contract-Funktion mit strikten Typen bereitstellt.

  • Anwendungsfall

    Durchgängig typisierte dApp

    Frontend, das ABI-Typen nutzt und Netzwerk, Adresse und Ergebnis zur Laufzeit validiert.

Verwandte Inhalte

Mehr zu Viem

Weitere Seiten von Metlabs, die diesen Steckbrief ergänzen.

Entwickeln Sie mit Viem?

Wir analysieren Ihren Fall, wählen den passenden Stack und liefern Ihnen eine produktionsreife Lösung.

Erzählen Sie uns von Ihrem Projekt

Pressestimmen

CointelegraphInvesting.comEl EspañolEmprendedoresEl ObservadorCriptoNoticias