🇮🇹 "Presentazione del nuovo strumento di interfaccia a riga di comando per Marlowe"

:it: Traduzione italiana di “Introducing the new command line interface tool for Marlowe - IOHK Blog”

Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT :pray: entra nel nostro gruppo Telegram


Presentazione del nuovo strumento di interfaccia a riga di comando per Marlowe

Imparare come inviare transazioni e interagire con i contratti Marlowe dalla CLI

img

Marlowe è un linguaggio specifico di dominio (DSL) open source con una suite di prodotti per la comunità che catalizzerà l’adozione di Cardano nella finanza. Viene costantemente migliorato e aggiornato, e un’interfaccia a riga di comando (CLI) è qualcosa di cui non si può fare a meno. Quindi, abbiamo creato un modo più conveniente per interagire con Marlowe utilizzando il nuovo strumento CLI. Questo nuovo strumento supporta un flusso di lavoro diretto per gli utenti che vogliono eseguire i contratti dalla riga di comando. Vi permette di concentrarvi sul contratto Marlowe stesso, mentre lo strumento gestisce i dettagli dell’input e dello stato del contratto. Inoltre, automatizza molti aspetti di Plutus così come l’interazione con il nodo Cardano stesso per ridurre il carico sugli utenti.

Scopo

Il nuovo strumento Marlowe CLI facilita lo sviluppo interno e il test dei contratti Marlowe. Questo include la misurazione delle dimensioni delle transazioni, l’invio di transazioni, il test delle integrazioni dei portafogli e il debug dei validatori. Fornisce anche l’integrazione con i flussi di lavoro degli sviluppatori esterni e i set di strumenti per i contratti Marlowe, in modo simile a come la comunità di sviluppo Cardano ha pesantemente integrato lo strumento Cardano CLI in vari servizi come librerie, faucets, token minting, marketplaces e così via.

È anche un passo importante nel percorso di stress test del nostro codice prima del lancio ufficiale di Marlowe, in quanto fornisce un accesso anticipato alle caratteristiche e alle capacità su testnet e successivamente su mainnet.

Inoltre, questo nuovo strumento CLI diventerà uno strumento utile per l’addestramento degli utenti su come raggiungere la velocità di utilizzo di Marlowe. Dimostreremo come usarlo durante il prossimo Marlowe Pioneers Program che sarà lanciato nelle prossime settimane! Restate sintonizzati sul nostro canale Marlowe Discord per i dettagli su quando inizierà questo corso e su come potrete partecipare.

Esecuzione dei contratti Marlowe

Il comando marlowe-cli supporta diversi flussi di lavoro di alto livello per l’esecuzione dei contratti Marlowe, ma qui ci concentreremo su un flusso di lavoro che astrae le specifiche dell’uso del linguaggio Plutus da parte di Marlowe. Lo strumento è installato in modo simile ad altri strumenti Cardano, utilizzando i comandi standard di Cabal o Nix. L’uso di base comporta solo un paio di comandi:

  • Creare un contratto di esempio da un modello
  • Inizializzare il contratto in modo che la transazione di creazione possa essere inviata
  • Applicare input a un contratto
  • Prelevare fondi da un contratto
  • Inviare una transazione di creazione, applicazione di input o prelievo
  • Interrogare la storia di un contratto

img

Figura 1: Flusso di lavoro di alto livello per l’esecuzione di contratti Marlowe dalla linea di comando. Ogni rettangolo corrisponde all’esecuzione di un comando marlowe-cli.

Ci sono diversi modi per progettare contratti Marlowe, ma i più semplici sono quelli di usare il comando template della CLI o il Marlowe Playground. Si possono anche creare contratti programmaticamente usando Haskell, JavaScript, o qualsiasi altro linguaggio che possa produrre i file JSON richiesti che incarnano il contratto e il suo stato iniziale. Il comando template della CLI può generare semplici contratti di prova, contratti di escrow, obbligazioni zero-coupon, token swap e covered call. Il Playground contiene otto contratti di esempio, ma è anche possibile progettare un contratto Marlowe personalizzato con esso.

Una volta che un contratto è stato creato e il suo stato iniziale definito, il comando di inizializzazione della CLI raggruppa queste informazioni insieme ai dettagli della rete Cardano dove verrà eseguito. Il singolo file .marlowe risultante in formato JSON contiene tutte le informazioni necessarie per eseguire o studiare il contratto Marlowe. Oltre al contratto e al suo stato attuale, contiene l’indirizzo dei validatori Marlowe, una copia serializzata del suo script Plutus e i dettagli della rete. Esaminare ed estrarre informazioni da questo file JSON può essere utile per imparare come funziona Marlowe, ma non è necessario per eseguire i contratti Marlowe. Una volta che queste informazioni necessarie sono state raggruppate, il comando CLI run execute sottomette l’effettiva transazione Plutus alla blockchain di Cardano, stampa le statistiche sulla transazione e attende la conferma.

L’applicazione di input a un contratto segue un processo più semplice. Il comando prepare della CLI permette di impostare un deposito di fondi al contratto, fare una scelta in esso o notificarlo. Questo prende il precedente file .marlowe come input e ne produce uno nuovo come output, che potete inviare con il comando execute. Il comando prepare vi avvertirà se l’input è illegale o intempestivo.

Il prelievo di fondi pagati da un contratto Marlowe viene effettuato con il comando withdraw, che permette di selezionare l’indirizzo al quale i fondi saranno ricevuti. La selezione dell’indirizzo fornisce flessibilità nell’erogazione dei fondi, in modo che gli indirizzi di uscita non siano “cablati” nel contratto stesso.

Interrogare la storia di un contratto può essere fatto anche dalla linea di comando, o si può usare il Cardano blockchain explorer.

Prospettive

Lo strumento a riga di comando fornisce anche funzioni avanzate per creare e manipolare i validatori Plutus, i dati, i redattori e gli hash coinvolti nei contratti Marlowe. I contratti possono anche essere compressi (usando gli hash di Merkle), il che rende possibile eseguire contratti molto più grandi di quanto i limiti del protocollo Cardano sulla dimensione delle transazioni e la memoria permetterebbero altrimenti. Puoi anche usare la CLI per eseguire contratti Marlowe sul PAB, eliminando la necessità di gestire UTxO e lasciando che sia un portafoglio a gestirli.

Questo strumento CLI verrà periodicamente migliorato per soddisfare le esigenze degli sviluppatori man mano che emergono. Oltre a semplificare ulteriormente i flussi di lavoro Marlowe, le capacità di test dei contratti dello strumento sono state ampliate.

Unitevi a noi sul canale Marlowe Discord per partecipare a discussioni, fare domande e sentire le ultime notizie su Marlowe.

Vorrei ringraziare Brian Bush, ingegnere del software per Marlowe, per il suo aiuto nella scrittura di questo blog.