🇮🇹 "Semplificare lo sviluppo di DApp Cardano con Demeter"

:it: Traduzione italiana di “Simplifying Cardano DApp development with Demeter”

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


Autore: Matthias Benkort Direttore tecnico dello sviluppo open source

Date le competenze di ingegneria blockchain necessarie per gestire i singoli componenti di Cardano, iniziare a lavorare sulla rete può risultare difficile. Questa dinamica diventa particolarmente vera quando gli sviluppatori vogliono evitare di utilizzare soluzioni centralizzate o di gestire l’infrastruttura. Per questi sviluppatori, la Cardano Foundation riconosce il valore di Demeter e il modo in cui può favorire l’adozione e la crescita dell’ecosistema.

Demeter è una piattaforma software costruita per semplificare il processo di sviluppo all’interno dell’ecosistema Cardano e rendere la creazione di applicazioni decentralizzate (DApp) più facile per gli sviluppatori. Come soluzione all-in-one, Demeter consente agli sviluppatori di implementare facilmente e rapidamente ambienti di testnet e mainnet.

Costruire sulla rete Cardano

In senso più ampio, Demeter mira a rimuovere le barriere all’ingresso per coloro che desiderano lanciare applicazioni su Cardano. Per questo motivo, la Fondazione ha concesso a TxPipe, la società che sta dietro a Demeter, una sovvenzione una tantum. Questa somma sovvenzionerà un livello gratuito che offre un accesso limitato alla piattaforma Demeter. In particolare, questo livello consentirà l’accesso a:

  • Un nodo Cardano configurato per reti preview, pre-prod o (successivamente) mainnet;
  • Vari strumenti per sviluppatori dell’ecosistema, come Ogmios, cardano-db-sync, Scrolls, Oura, Kupo e Hydra;
  • spazi di lavoro con starter-kit per vari casi d’uso (ad esempio, sviluppo di Plutus con Haskell, Aiken, Helios, ecc.) con modelli pronti all’uso utilizzati per avviare rapidamente nuovi progetti.

Attraverso questo impegno, la Fondazione intende affrontare alcune delle sfide associate allo sviluppo di applicazioni sulla blockchain Cardano, in particolare l’inserimento di nuovi sviluppatori.

Complessità dell’onboarding

Cardano segue un approccio minimalista per quanto riguarda i componenti principali. Ad esempio, il nodo Cardano è destinato a fare solo ciò che è necessario per garantire le prestazioni della rete. In particolare, il nodo memorizza solo le informazioni necessarie per seguire e convalidare la catena. Per questo motivo, molte responsabilità vengono trasferite alle applicazioni client. Questo approccio mira a mantenere ragionevole la manutenzione dei componenti principali, consentendo all’ecosistema di sviluppare in parallelo le soluzioni modulari necessarie. Tuttavia, per i nuovi utenti di Cardano, questa dinamica può diventare opprimente, poiché lo sviluppo richiede l’uso simultaneo di più strumenti. Dagli indicizzatori di catene, ai portafogli, ai costruttori di transazioni, agli osservatori di catene e agli esploratori, esiste una miriade di strumenti che, una volta orchestrati correttamente, possono risolvere praticamente qualsiasi problema.

Alcuni strumenti tipici presenti in un ambiente di sviluppo Cardano sono:

Data la diversità dei moduli, piattaforme come Demeter diventano particolarmente utili per aiutare gli sviluppatori a iniziare a lavorare con Cardano. In particolare, Demeter rende semplice l’orchestrazione e la distribuzione di questi componenti. Questa dinamica consente integrazioni senza soluzione di continuità, incoraggiando l’innovazione all’interno dell’ecosistema Cardano.

Rapporto tra infrastruttura e sviluppatore

Oltre al processo di avvio, i tipici componenti dell’infrastruttura presenti in un ambiente di sviluppo di Cardano richiedono risorse significative per funzionare, come CPU, memoria e storage su disco. Se consideriamo che, durante il processo di sviluppo, uno sviluppatore potrebbe aver bisogno di connettersi a diverse reti Cardano, come preview, preprod, mainnet e così via, i requisiti di risorse possono diventare proibitivi per alcuni sviluppatori, anche per quelli che utilizzano macchine potenti. Inoltre, i dati devono essere sincronizzati ogni volta da ogni rete, il che rende particolarmente gravosa la creazione di un ambiente di sviluppo.

Esistono alcune tecniche standard per mitigare il problema, ad esempio l’uso di carichi di lavoro containerizzati che possono essere messi in pausa durante i periodi di inattività. Sebbene valide, queste soluzioni offrono soluzioni parziali e spesso richiedono la configurazione e la connessione manuale e individuale dei pezzi.

Un uso migliore delle risorse sarebbe quello di condividere le istanze di questi componenti dell’infrastruttura tra più sviluppatori. Il rapporto tra infrastruttura e sviluppatori dovrebbe seguire un rapporto di 1:N, con il costo di gestione dell’infrastruttura diviso tra più partecipanti. Come soluzione basata sul cloud, Demeter consente a più partecipanti di condividere il costo dell’infrastruttura, incoraggiando così un maggior numero di sviluppatori a unirsi all’ecosistema Cardano. Questa dinamica promuove una comunità di sviluppatori vivace e sostenibile, favorendo l’innovazione e la crescita e riducendo al minimo l’onere finanziario per i singoli sviluppatori.

Stack tecnologici multipli

Lo sviluppo della blockchain coinvolge diverse discipline: sviluppo del frontend, sviluppo del backend, sviluppo di smart contract e altro ancora. Sebbene la maggior parte dello sviluppo di Cardano rimanga fortemente incentrato su Haskell, si nota già una tendenza all’introduzione di diversi linguaggi e framework di programmazione. Infatti, molte librerie ed ecosistemi ben forniti esistono in linguaggi alternativi come Rust, Java, Go o C#. Questa tendenza è visibile anche all’interno della catena con l’avvento di nuove piattaforme di programmazione come Aiken o Helios, che offrono valide alternative ad Haskell.

Demeter fornisce una piattaforma unificata che consolida le risorse e gli strumenti per questi ecosistemi. Questa dinamica semplifica lo sviluppo, rendendolo piĂą accessibile ed efficiente per gli sviluppatori di diversi stack, favorendo un ambiente coeso e collaborativo per la creazione di Cardano.

Ambienti di apprendimento Sandbox

L’adozione su larga scala di Cardano comporta anche la necessità di attrarre sviluppatori al di fuori dell’attuale ecosistema, di rispondere alle aspettative dello stato dell’arte e di fornire agli sviluppatori ambienti di test adeguati. Il supporto di ambienti sandbox temporanei e pienamente capaci, che si attivano in pochi minuti, fornisce agli sviluppatori un meccanismo per sperimentare progetti pratici, mostrando le capacità del loro sistema.

Demeter intende adottare una strategia simile, fornendo estensioni che supportino ambienti sandbox o testnet, consentendo agli sviluppatori di perfezionare e convalidare i propri progetti senza l’onere di gestire l’infrastruttura in prima persona. Una volta pronti, possono continuare a ospitarli su Demeter o esportare la loro configurazione come configurazioni Terraform o Kubernetes, due tecnologie ampiamente utilizzate per la gestione dell’infrastruttura.

Piattaforma di basso livello come servizio (PaaS)

Molti servizi dell’ecosistema Cardano offrono API basate sul web per facilitare le interazioni con la blockchain a un livello di astrazione elevato (ad esempio, Blockfrost, Koios, GoMaestro, ecc.). Questi servizi eliminano la complessità dell’interazione con lo strato di componenti sottostante. Tuttavia, i progetti che lavorano sulla messa a punto delle prestazioni o quelli che richiedono una maggiore flessibilità nei loro flussi di lavoro necessitano di un accesso di livello inferiore, tra cui:

  • accesso diretto ai mini-protocolli Ouroboros Node-to-Node e Node-to-Client;
  • accesso diretto agli endpoint WebSocket e HTTP di Ogmios;
  • accesso diretto agli endpoint HTTP di cardano-submit-api;
  • accesso diretto a PostgreSQL per i dati di cardano-db-sync;
  • accesso diretto agli endpoint HTTP di Kupo.

Alcuni protocolli blockchain forniscono servizi a diversi livelli di astrazione, sia di astrazione API di alto livello che di endpoint di protocollo di basso livello. Ad esempio, sono diventate comuni le soluzioni che forniscono “nodi come servizio”. Allo stesso modo, Demeter offre agli sviluppatori la flessibilità di lavorare al livello di astrazione più adatto alle loro esigenze, sia che richiedano un’interfaccia semplificata o un accesso al protocollo più profondo. Questa flessibilità può aumentare l’attrattiva e l’usabilità dell’ecosistema Cardano, attirando una gamma più ampia di sviluppatori e casi d’uso.

Descrizione tecnica di Demeter

Demeter fornisce ambienti cloud organizzati per cluster. Un cluster rappresenta un gruppo di risorse e strumenti di calcolo che diversi progetti possono consumare simultaneamente in modo controllato e misurato. I cluster sono elastici per natura, ovvero acquisiscono automaticamente piĂą risorse quando servono e si riducono nei periodi di inattivitĂ .

Un progetto Demeter è definito come uno o più sviluppatori che interagiscono con il cluster per costruire e distribuire una DApp Cardano. Su ogni cluster, gli sviluppatori possono abilitare una serie di estensioni per accedere a diversi servizi utili, come:

  • Nodi Cardano: versioni completamente sincronizzate e gestite del Nodo Cardano a cui si può accedere attraverso una rete privata utilizzando i mini-protocolli di Ouroboros.
  • Cardano DB-Sync: una versione gestita di cardano-db-sync. I dati possono essere recuperati tramite accesso diretto SQL a istanze PostgreSQL altamente disponibili.
  • Cardano Ogmios: istanze altamente disponibili di Ogmios a cui si può accedere direttamente tramite WebSocket o HTTP.
  • Cardano Submit API: istanze private e bilanciate del cardano-submit-api a cui si può accedere direttamente via HTTP per inviare transazioni Cardano serializzate.
  • Cardano Oura Webhooks: consente agli sviluppatori di creare azioni automatiche guidate dagli eventi in risposta agli eventi della blockchain Cardano alimentati da Oura.
  • Cardano Kupo: un indice a catena leggero e configurabile per la blockchain Cardano con un’API HTTP di facile utilizzo per gli sviluppatori.
  • Cardano Blockfrost RYO: un’istanza self-hosted dell’API Blockfrost, che fornisce un vero e proprio gateway per la blockchain Cardano.
  • Cardano Kuber: libreria Haskell e servizio API per costruire e comporre transazioni Cardano.
  • Cardano Hydra Node: un nodo Hydra self-hosted con un’interfaccia utente terminale e un’utile dashboard per semplificare la creazione e la gestione delle teste Hydra.
  • Marlowe Runtime: consente l’esecuzione di contratti intelligenti Marlowe sulla blockchain Cardano.

Questo tooling completo supporta Cardano semplificando lo sviluppo all’interno di una piattaforma unificata. In termini tecnici, Demeter semplifica l’accesso ai dati e ai servizi della blockchain, consentendo al contempo di creare solidi ambienti di test.

In linea con il sostegno della Fondazione ai progetti che contribuiscono in modo significativo all’ecosistema, soprattutto a quelli che possono avere un ampio impatto futuro, abbiamo deciso di collaborare con TxPipe e di dare all’ecosistema l’accesso a un livello gratuito di Demeter. Strutturando la sovvenzione della Fondazione in questo modo, intendiamo aiutare TxPipe a raggiungere un pubblico più ampio, ad ampliare l’appeal della rete Cardano e a promuovere l’innovazione in tutto l’ecosistema.

Misurare l’impatto della partnership

Da quando TxPipe ha attivato un cluster free-tier nella regione dell’UE il 21 giugno 2023, diverse metriche relative agli utenti hanno mostrato una crescita significativa. In particolare, nel mese di agosto:

  • 386 nuovi utenti si sono iscritti
  • 452 progetti creati
  • 317 sovvenzioni sono state concesse a nuovi utenti*.
  • Sono stati creati 108 spazi di lavoro

Inoltre, a settembre:

  • 446 nuovi utenti iscritti

  • Sono stati creati 525 progetti

  • 391 sovvenzioni sono state concesse a nuovi utenti*.

  • Sono stati creati 114 spazi di lavoro

  • Sponsorizzato dalla Cardano Foundation (ogni nuovo utente riceve la sovvenzione solo per il primo progetto che crea).

Con il completamento del coinvolgimento del free-tier al 30 settembre, la Fondazione esaminerà ora il suo impatto complessivo, con l’obiettivo di determinare l’efficacia della sovvenzione. Se questi risultati dovessero indicare una crescita dell’utenza, potrebbero esserci ulteriori opportunità di lavorare a fianco di TxPipe su future iniziative di adozione.