nano-sdk v2: preparare gli strumenti prima che arrivi node V29
Se costruisci qualcosa su Nano (un wallet, un explorer, un servizio di dati di mercato), prima o poi finisci a parlare con un nodo. nano-sdk è la libreria TypeScript che rende piacevole quella conversazione: chiamate RPC tipizzate, topic WebSocket validati, schemi di risposta che corrispondono a ciò che il nodo restituisce davvero. Questa settimana Exxenoz ha rilasciato la prima beta della versione 2, e c'è un dettaglio che pesa più di qualsiasi funzione inclusa: Nano node V29 non è ancora stato rilasciato. L'SDK sta semplicemente arrivando prima.
La linea di demarcazione, tracciata in anticipo
La beta traccia una linea di compatibilità chiara: la versione 2 parlerà con Nano node V29, la versione 1 resta su V28.2. Questa divisione conta più di qualsiasi singola funzionalità, ed è tracciata in anticipo, di proposito. L'SDK valida già il nuovo campo topo_height nella cronologia degli account e nelle informazioni sui blocchi, le priorità di bootstrap ristrutturate e le capacità dei peer V29, così quando il nodo verrà finalmente rilasciato, il tooling sarà già al suo posto. È la differenza tra aggiornarsi insieme a un nodo e rincorrerlo dopo.
nano-sdk 2.x → Nano node V29.0 nano-sdk 1.x → Nano node V28.2
Cosa sbloccherà V29 per chi costruisce
La parte interessante non è nel changelog, ma in ciò che i cambiamenti preparano:
Telemetria
p50 · p90 · p99
Range raw
fino a 10^30
Delegatori
paginazione a cursore
- Telemetria v2. I nodi V29 riporteranno i percentili di latenza di conferma (p50, p90, p99), il proprio backend di database e lo stato di bootstrap. Il monitoraggio dei nodi passa dalle congetture alle dashboard: un nodo sottodimensionato si riconosce dalla sua curva di latenza, prima che gli utenti se ne accorgano.
- Paginazione indicizzata dei delegatori. Le liste dei delegatori potranno essere recuperate con veri cursori di continuazione invece di scaricare migliaia di voci in una volta. Per qualsiasi servizio che mostri pagine di rappresentanti, è la differenza tra scalare e bloccarsi.
- Query sui rappresentanti più intelligenti. Un parametro di soglia di peso (
threshold) permette di filtrare i rappresentanti piccoli nei sondaggi. Meno rumore, meno round-trip. - Numeri più sicuri. Gli importi raw di Nano arrivano a 10^30, ben oltre l'intervallo degli interi sicuri di JavaScript. Il nuovo
UInt64Stringvalida le stringhe decimali sull'intero intervallo unsigned a 64 bit, correggendo quel tipo di bug di overflow che corrompe silenziosamente le statistiche oltre i 9 biliardi.
A chi interessa già
È una beta rivolta a un nodo non ancora rilasciato, quindi l'ordine conta:
L'ordine delle cose
- 01
Restare
I servizi in produzione restano sulla 1.x e su V28.2 finché V29 non esce e si stabilizza.
- 02
Provare
Preparare un ambiente di sviluppo contro una build di sviluppo di V29 e testare i nuovi percorsi di paginazione e telemetria.
- 03
Segnalare
Aprire issue finché i maintainer sono più reattivi. Un feedback precoce sulla beta vale dieci lamentele dopo una release stabile.
Una beta che arriva prima del nodo dà un vantaggio a tutto l'ecosistema.
L'ecosistema di strumenti Nano è stato a lungo frammentato: piccoli helper, librerie mantenute a metà, schemi che si allontanano da ciò che i nodi restituiscono davvero. Un SDK tipizzato che tratta la compatibilità dei nodi come un contratto di prima classe è ciò che mette fine a tutto questo. La v2 è una beta per una versione del nodo che ancora non esiste, ma una beta nella direzione giusta.
La release è firmata Exxenoz.
SDK for the Nano cryptocurrency with typed and runtime-validated RPC and WebSocket APIs, a built-in WebSocket client, safe amount arithmetic, and cryptographic utilities.
Provala contro una build di sviluppo di V29 e segnala cosa si rompe.