Infrastruktur

@solana/web3.js v3 wird am 19. Oktober Standard bei npm

Ab dem 19. Oktober installiert npm @solana/web3.js ohne Versionsangabe als v3. Am 17. Oktober steht latest noch auf 1.99.0. Version 1.x erhält laut Doku nur noch kritische Fixes.

SOLANA·HUB Redaktion

Der npm-Tag latest

Am 19. Oktober wird @solana/web3.js v3 zum npm-Tag latest. Das steht in den Release Notes zu v3.0.0. Wer dann npm install @solana/web3.js ohne Version ausführt, erhält v3.

Am 17. Oktober zeigt die npm-Registry noch latest auf 1.99.0 und next auf 3.1.0. v3.0.0 erschien in der Nacht zum 2. Oktober unter next. v3.1.0 folgte am 15. Oktober.

Der Changelog vom 8. Oktober schrieb, die Installation müsse die Version vorerst noch nennen. Später solle v3 der Standard ohne Zusatz werden. Das Datum nennt erst die Note zu v3.0.0.

Die Doku im Repository der Solana Foundation behält für v3 die klassenbasierte API. Die Interna laufen auf Solana Kit. Was Kit ist, steht in der Meldung zu Solana Kit 6.9.

Version 1.x liegt auf dem Branch maintenance/v1.x. Sie wird nicht mehr aktiv gepflegt und erhält nur noch kritische Fixes.

Solana Developers hat am 17. Oktober auf X einen Livestream angekündigt. Der Titel lautet „Relaunching Solana Web3.js“.

Der Start liegt am 20. Oktober um 2:00 Uhr MESZ. Zum Zeitpunkt des Posts hatte der Stream noch nicht begonnen.

Connection als Kit-Client

v3.1.0 macht Connection zu einem Kit-Client. Dieselbe Instanz lässt sich an Anchor 2 und an Codama-Clients unter @solana-program/* übergeben. Ein zweiter RPC-Client ist dafür nicht nötig.

Mit v3.0.0 kam das Paket @solana/wallet-adapter. Die Notes nennen SIWS 1.1, eigenständiges Signieren und eine Beispiel-App.

Am 17. Oktober steht dieses Paket auf npm auf 3.1.0. Der Tag latest von @solana/web3.js ist davon getrennt.

Änderungen gegenüber Version 1.x

Die Release Notes beschreiben den Aufwand für TypeScript-Projekte über vier Punkte. Zahlen werden oft zu bigint. Account-Daten liegen als Uint8Array vor.

Helfer für Schlüssel und für die Serialisierung sind asynchron. Viele RPC-Ergebnisse sind schreibgeschützt.

Keypair.generate(), Keypair.fromSecretKey() und Keypair.fromSeed() geben ein Promise zurück. Dasselbe gilt für Transaction.serialize() und Transaction.verifySignatures().

Viele Methoden von Connection liefern bigint statt number. Ohne gesetztes Commitment gilt confirmed. In Version 1.x galt finalized.

getMinimumBalanceForRentExemption wirft den Fehler jetzt weiter. Bisher schrieb die Methode eine Warnung und lieferte 0n. Die Decoder decodeSplit und decodeWithdraw liefern Lamports als bigint.

Weggefallen sind unter anderem PublicKey.unique(), die Klasse Account und die FeeCalculator-Methoden, darunter getRecentBlockhash.

Die Doku nennt Node.js 20.18.0 als Mindestversion.

Wer bei Version 1.x bleiben will, muss die Version fest angeben, etwa @solana/web3.js@1. Wer die Version offenlässt, erhält ab dem 19. Oktober v3.

Was zu beobachten ist

  • Zu welcher Uhrzeit der Tag latest am 19. Oktober umgestellt wird
  • Ob die Linie 1.x nach der Umstellung noch einen kritischen Fix erhält
  • Was der Livestream am 20. Oktober über die Notes hinaus sagt

Quellen

#web3js #npm #javascript #solana-kit