Kernpunkte
- TypeScript prüft Typen vor der Ausführung des Codes und wird zu JavaScript kompiliert.
- Typen helfen, Smart Contracts, APIs und Oberflächen aufeinander abgestimmt zu halten.
- Externe Daten müssen weiterhin zur Laufzeit validiert werden.
Was ist TypeScript?
TypeScript ergänzt JavaScript um ein Typsystem, mit dem sich Daten beschreiben und Inkompatibilitäten während der Entwicklung erkennen lassen. In einer Blockchain-Anwendung kann es Adressen, Antworten von Smart Contracts, Transaktionszustände und Netzwerkkonfigurationen abbilden. Das Ergebnis läuft in der Regel als JavaScript im Browser oder auf dem Server.
Typen dienen als Vertrag zwischen Teilen des Codes. Ändert eine Funktion ihre Parameter, lassen sich die nicht mehr passenden Aufrufe vor dem Deployment erkennen. Das ist nützlich in Produkten, in denen Oberfläche, Backend und operative Skripte gemeinsam weiterentwickelt werden.
So funktioniert es
Der TypeScript-Checker analysiert den Code und seine Konfiguration. Optionen wie der Strict-Modus helfen, fehlende Werte und fehlerhafte Umwandlungen zu erkennen. Beim Erzeugen von JavaScript werden die Typen entfernt: Eine HTTP-Antwort, ein URL-Parameter oder ein Wert aus dem RPC muss weiterhin zur Laufzeit validiert werden.
Bei EVM-Integrationen können kompatible Bibliotheken Funktionen und Argumente aus einem ABI ableiten, das mit literalen Informationen deklariert ist. Diese Ableitung beschreibt das ABI, das im Projekt vorliegt; sie prüft nicht automatisch den deployten Contract. Netzwerk, Adresse, ABI und Version der Implementierung müssen aufeinander abgestimmt bleiben.
Was TypeScript leistet
Eine Treasury-Anwendung kann die Typen ihrer Vorgänge zwischen Formularen, API und Abstimmungsaufgaben teilen. Statt alles als generische Zeichenketten abzubilden, unterscheidet sie Beträge in kleinsten Einheiten, Netzwerkkennungen und Zustände wie ausstehend, bestätigt oder fehlgeschlagen. Diese Trennung reduziert mehrdeutige Umwandlungen und macht Produktentscheidungen expliziter.
Für On-Chain-Beträge werden Ganzzahlen und kontrollierte Dezimalumrechnungen verwendet. Ein bigint bewahrt die Genauigkeit, benötigt aber eine Serialisierungsstrategie, sobald er eine JSON-API passiert. Dasselbe gilt für das SDK, das anderen Teams für die Integration eines Protokolls bereitgestellt wird.
Grenzen und Auswahlkriterien
TypeScript beweist weder, dass ein Vorgang wirtschaftlich gültig ist, noch dass ein Smart Contract sicher ist. Typzusicherungen (Assertions) und die Verwendung von any können Fehler verbergen, während ein veraltetes ABI in sich stimmige Typen mit falschen Informationen liefert. Die Typprüfung ergänzt Integrationstests und Eingabevalidierungen.
Die Einführung kann modulweise erfolgen, mit Priorität auf den Grenzen zwischen Diensten und den Abläufen, die Transaktionen signieren. In der Continuous Integration sollte die Typprüfung ausdrücklich ausgeführt werden, denn einige Werkzeuge transpilieren, ohne Typen zu prüfen. Der Nutzen bemisst sich an erkannten Fehlern und Wartbarkeit, nicht an pauschalen Produktivitätsversprechen.
Auch bekannt als
- TS
- TypeScript language
- typed JavaScript





