Cardano Plutus 1.68.0.0 porta Plutus V4 nello stack di sviluppo

Il team Plutus di Cardano ha rilasciato la versione 1.68.0.0 con i tipi dell’API del ledger di Plutus V4, nuovi builtin per smart contract e una configurazione Plinth più semplice. Il rilascio offre agli sviluppatori un accesso anticipato ai componenti in preparazione per l’era Dijkstra mentre Plutus V4 è ancora in sviluppo.

By SongMarketCap

Cardano News - Cardano Plutus 1.68.0.0 porta Plutus V4 nello stack di sviluppo

Lo stack di smart contract di Cardano si è avvicinato all’era Dijkstra con il rilascio di Plutus 1.68.0.0. L’aggiornamento introduce i tipi dell’API del ledger di Plutus V4, amplia la gestione degli asset on chain e semplifica il processo di avvio di nuovi progetti Plinth.

Il rilascio non attiva Plutus V4 sul mainnet di Cardano, ma porta parti del prossimo ambiente di esecuzione nell’attuale toolchain di sviluppo.

I tipi di Plutus V4 entrano nell’attuale toolchain

Plutus fornisce il linguaggio di esecuzione e gli strumenti utilizzati dagli smart contract di Cardano. La sua API del ledger espone i dati di transazione e della blockchain che gli script possono ispezionare durante la validazione delle transazioni.

La versione 1.68.0.0 aggiunge Plutus V4 e il supporto dell’API del ledger associata dijkstraPV. Il rilascio aggiunge inoltre V4 ai blueprint dei contratti CIP-57, consentendo di identificare gli script come versione v4.

Il team Plutus avverte che V4 è ancora in fase di sviluppo e che i nuovi tipi dell’API del ledger potrebbero cambiare prima di Dijkstra.

Continua anche lo sviluppo del pattern matching diretto su Data. Un’espressione case può ora effettuare il dispatch direttamente sul tag del costruttore di un valore Data.Constr. In combinazione con la funzionalità dropList aggiunta di recente, ciò riduce l’overhead per la logica degli script che lavora con dati strutturati on chain.

Nuovi builtin migliorano la validazione degli asset

Plutus 1.68.0.0 introduce anche il builtin assetCount da CIP-0168 insieme al relativo modello di costo.

La funzione restituisce il numero di coppie distinte di policy ID e token name contenute in un valore. Questo offre agli smart contract un modo diretto per verificare quanti asset differenti sono presenti invece di attraversare manualmente l’intera struttura del valore.

La funzionalità è rilevante per il modello multi asset di Cardano. Un contratto DeFi, per esempio, potrebbe dover verificare che un UTxO contenga ADA, DJED e un set specifico di token del protocollo, rifiutando al contempo asset imprevisti che potrebbero interferire con la validazione o aumentare i costi di transazione successivi.

Il rilascio aggiunge anche una valutazione dei costi basata su benchmark per multiIndexArray, un builtin progettato per recuperare diversi elementi di un array in un’unica operazione. Questo riduce la logica di ricerca ripetitiva quando gli script necessitano di più posizioni dallo stesso array.

Queste aggiunte portano ulteriormente nel codice Plutus rilasciato funzionalità in precedenza descritte tramite le Cardano Improvement Proposals.

L’impostazione di Plinth passa a un flusso di lavoro con un solo comando

Lo stesso ciclo di sviluppo semplifica anche l’onboarding per Plinth, il framework Haskell utilizzato per creare gli smart contract Plutus.

L’aggiornato plinth-template include una procedura di installazione che può creare un nuovo progetto con un singolo comando gestendo al contempo gli strumenti di sviluppo necessari e la struttura del progetto.

Questo conferisce al rilascio due effetti distinti sullo sviluppo. Plutus 1.68.0.0 espone una porzione maggiore dell’ambiente di esecuzione in preparazione per Dijkstra, mentre le modifiche a Plinth riducono la configurazione necessaria agli sviluppatori per iniziare a lavorare con esso.

Plutus V4 è ancora in fase di definizione, ma gli sviluppatori hanno ora una superficie di implementazione più ampia su cui testare. I tipi dell’API del ledger, i nuovi builtin e gli strumenti aggiornati stanno spostando la prossima generazione di Plutus dal lavoro di specifica a rilasci di sviluppo utilizzabili prima che l’era del ledger Dijkstra raggiunga l’attivazione.