Gli esperimenti sui nodi Cardano nel browser avanzano in TypeScript e Haskell

Gerolamo ha prodotto un secondo blocco su Cardano Preview, mentre un prototipo Haskell separato ha seguito la catena e inviato una transazione da un browser web. I due esperimenti avvicinano diverse parti dell'infrastruttura dei nodi Cardano al dispositivo dell'utente.

By SongMarketCap

Cardano News - Gli esperimenti sui nodi Cardano nel browser avanzano in TypeScript e Haskell

Gli sviluppatori di Cardano hanno riportato nuovi risultati da due esperimenti indipendenti sui nodi. Harmonic Labs ha ampliato i test di Gerolamo oltre un blocco vuoto, mentre Seungheon Oh ha dimostrato l'esecuzione nel browser dello stack del nodo Haskell tramite WebAssembly. Entrambi restano sperimentali e nessuno dei due configura un produttore di blocchi in produzione che operi interamente all'interno di un browser.

Gerolamo produce un secondo blocco su Cardano Preview

Gerolamo è un'implementazione alternativa del nodo Cardano scritta in TypeScript e in esecuzione tramite il runtime Bun. Harmonic Labs sta sviluppando il progetto sotto la guida del fondatore Michele Nuzzi, con il codice sorgente pubblicamente disponibile.

Il primo blocco attribuito a Gerolamo è stato accettato su Cardano Preview il 12 settembre. Era vuoto e ha fornito un test iniziale per verificare se l'implementazione alternativa potesse produrre un blocco accettato dalle regole del protocollo di Cardano.

Un secondo blocco è stato prodotto il 14 settembre e conteneva tre transazioni. Secondo le informazioni pubblicate dal team, includevano l'esecuzione di uno smart contract e un messaggio on chain. Il test è quindi passato da un blocco vuoto a uno che trasportava attività di transazione.

Gerolamo ha anche sincronizzato la catena Preview dalla genesi all'attuale punta con convalida dei dati della catena. La sua implementazione server supporta i protocolli node to node di Cardano, la comunicazione locale opzionale con il client, il bootstrap Mithril e un sottoinsieme di funzioni API in stile Blockfrost.

La documentazione disponibile non descrive una completa leadership Praos come parte conclusa del progetto. Harmonic Labs non ha pubblicato un resoconto tecnico completo del percorso di forging utilizzato per i due blocchi Preview. La rete ha accettato i blocchi e il team li ha attribuiti a Gerolamo, ma le prove pubbliche non stabiliscono che il produttore di blocchi operasse all'interno di un browser web.

Cardano ottiene due diversi approcci ai nodi nel browser

Accanto a Gerolamo, Harmonic Labs sta sviluppando Gerolamino, una implementazione più leggera pensata per i browser web e per un'estensione di Chrome. Gerolamino non è la stessa istanza software che ha prodotto i blocchi su Preview.

La dimostrazione pubblica consente a un browser di comunicare con un relay Cardano tramite i mini protocolli Ouroboros Handshake, ChainSync e BlockFetch. Può seguire header e blocchi, elaborare dati CBOR e utilizzare IndexedDB e WebWorkers per archiviazione e calcolo locali.

Un bridge WebSocket verso TCP al momento collega il browser con un relay Preprod esterno, poiché le applicazioni web non possono aprire connessioni TCP standard direttamente alla rete Cardano.

Lo sviluppo pianificato include il supporto a Mithril per una sincronizzazione iniziale più rapida, l'indicizzazione locale degli UTxO e una interfaccia di comunicazione simile agli standard dei wallet Cardano esistenti. Quel modello potrebbe consentire alle applicazioni web di verificare più informazioni sul dispositivo dell'utente invece di richiedere ogni risposta a un'API remota.

Separatamente da Harmonic Labs, lo sviluppatore Seungheon Oh ha dimostrato un nodo Cardano in Haskell in esecuzione all'interno di un browser tramite il backend WebAssembly di GHC. La dimostrazione includeva il tracciamento della punta della catena, la visualizzazione di un saldo in ADA e l'invio di una transazione dal browser.

Il Cardano Hard Fork Working Group ha registrato la dimostrazione il 15 settembre come sviluppo legato alla diversità dei nodi. Oh non ha rilasciato il codice sorgente e la dimostrazione non includeva la produzione di blocchi. Il prototipo quindi non può ancora essere sottoposto a revisione indipendente né confrontato in dettaglio con il software Haskell di produzione cardano-node.

La verifica locale potrebbe cambiare l'infrastruttura delle dApp su Cardano

I wallet Cardano e le applicazioni decentralizzate utilizzano spesso servizi remoti per accedere ai dati della blockchain, individuare gli UTxO, controllare i saldi e inviare transazioni. Questa infrastruttura semplifica lo sviluppo ma crea dipendenze dai provider di API, dagli indexer e dalla loro continua disponibilità.

La funzionalità di nodo nel browser potrebbe spostare parte di quel processo sul dispositivo dell'utente. Un'applicazione potrebbe seguire localmente la catena di Cardano, elaborare i blocchi e verificare le informazioni che utilizza prima di preparare o inviare una transazione. L'accesso locale potrebbe anche ridurre il numero di indirizzi e richieste di dati inviati ai servizi API centralizzati.

Per gli sviluppatori, questa architettura potrebbe supportare applicazioni Cardano che rimangono funzionanti quando un singolo indexer o un provider di backend diventa indisponibile. Percorsi di accesso sviluppati in modo indipendente possono rafforzare la resilienza delle applicazioni quando convalidano i dati secondo le stesse regole del protocollo Cardano.

L'approccio può anche consentire a wallet e applicazioni decentralizzate di verificare gli UTxO e i saldi in ADA più vicino all'utente invece di considerare un servizio remoto come unica fonte dello stato della blockchain. Gerolamo aggiunge una implementazione TypeScript sviluppata in modo indipendente, mentre il lavoro di Oh esplora come lo stack Haskell consolidato possa operare tramite WebAssembly.

I prototipi attuali non eliminano la necessità di infrastruttura esterna. Gerolamino utilizza ancora un bridge WebSocket e un relay esterno, mentre una sincronizzazione locale più ampia deve tenere conto dei limiti di archiviazione del browser, memoria, banda e indicizzazione. Gli snapshot Mithril, i peer di rete e i percorsi di invio delle transazioni restano inoltre parte dell'architettura.

I progressi dimostrati pubblicamente ora comprendono un nodo TypeScript che ha prodotto blocchi su Preview, un light node nel browser che utilizza i mini protocolli Ouroboros e un prototipo Haskell separato in grado di seguire la catena e inviare transazioni. Non è stato documentato un relay di produzione o un produttore di blocchi che operi interamente all'interno di un browser. Il cambiamento immediato è più ristretto: le applicazioni Cardano possono iniziare a spostare parte della verifica della blockchain dai servizi remoti al dispositivo dell'utente.