Kernpunkte
- Web3.js ist Teil zahlreicher Legacy-Integrationen mit Ethereum.
- Eine Prüfung muss Aufrufe, Events und Abhängigkeiten erfassen, bevor migriert wird.
- Ziel einer Migration ist es, das Verhalten beizubehalten und die Wartbarkeit zu verbessern.
Was ist Web3.js?
Web3.js ist eine JavaScript-Bibliothek zur Abfrage von Ethereum und anderen EVM-Netzwerken, die in Altanwendungen weiterhin präsent ist. Ihre API umfasst RPC-Zugriff, Contracts, Konten und Hilfsfunktionen. Die Unterschiede zwischen den Generationen des Pakets sind bei der Codepflege relevant: Eine v1-Integration verhält sich nicht zwangsläufig wie eine v4.
Das offizielle Repository kündigte die Einstellung für den 4. März 2025 an, mit Hinweisen zur Migration auf Ethers oder Viem. Die aktuelle Arbeit besteht darin, Abhängigkeiten zu identifizieren, das erforderliche Verhalten zu erhalten und den Übergang zu einer gepflegten Bibliothek mit Tests des Produkts zu planen.
So funktioniert es
Der Client greift über einen HTTP-, WebSocket- oder EIP-1193-kompatiblen Provider auf das Netzwerk zu. Contracts werden über Adresse und ABI beschrieben. Die Versionen unterscheiden sich in Zahlenformaten, Fehlerbehandlung und APIs; Beispiele aus einer anderen Version sollten nicht in der Annahme automatischer Kompatibilität übernommen werden.
Subscriptions ermöglichen den Empfang von Events, benötigen bei einer Unterbrechung des Dienstes jedoch eine Wiederverbindung und das Nachladen historischer Daten. Web3.js ist ein JavaScript-Projekt und von web3.py zu unterscheiden: Die Provider-Namen und AsyncWeb3-Beispiele gehören zu Python und sind keine gültigen Anleitungen für diese Bibliothek.
Was Web3.js leistet
Eine Migration beginnt mit einer Bestandsaufnahme von Lesezugriffen, Signaturen, Transaktionsversand, Events und Hilfsfunktionen. Für jede Operation wird ein Test ihres Verhaltens festgehalten, einschließlich Antwortformaten und erwarteten Fehlern. Die Komponenten, die diese Daten konsumieren, sollten sich beim Austausch des Clients nicht unbeabsichtigt ändern.
Man kann eine abgegrenzte Integrationsschicht einführen und Funktionen schrittweise migrieren. So werden beispielsweise zuerst Guthabenabfragen und Log-Dekodierung verglichen, bevor die Signaturabläufe umgestellt werden. Transaktionen mit realen Auswirkungen erfordern besondere Aufmerksamkeit bei Nonces, Wiederholungen und der Verfolgung von Receipts.
Grenzen und Auswahlkriterien
Web3.js vorübergehend beizubehalten setzt voraus, den Supportstatus zu kennen und die Abhängigkeit nicht ohne Begründung auszuweiten. Die Migrationspriorität hängt von Exposition, Versionen und genutzten Funktionen ab; ihre Dauer lässt sich nicht allein anhand des Bibliotheksnamens schätzen.
Der Übergang erfordert nicht zwangsläufig Änderungen an deployten Smart Contracts. Ziel ist es, deren Schnittstellen zu bewahren und die Wartbarkeit der Anwendung zu verbessern. Geprüft wird die Äquivalenz bei Einheitenumrechnungen, Fehlerbehandlung, Abbrüchen und dem Abruf von Events; alte Abhängigkeiten werden entfernt, sobald sie nicht mehr genutzt werden.
Auch bekannt als
- web3
- Web3.js v4





