ErgoPay, la nuova connessione di Ergo con dApps

Tempo di lettura stimato: 4 minuti

  • dApp: applicazione decentralizzata
  • JavaScript: linguaggio di programmazione

Prima di tutto, descriverò cos’è davvero un connettore dApp: è qualcosa che collega la dApp a un portafoglio, consente alla dApp di fare qualcosa che non potrebbe fare senza il portafoglio. Il portafoglio contiene le chiavi dell’utente, mentre la dApp sa cosa vuole davvero fare l’utente sulla blockchain, quindi il connettore dApp è quello di consentire alla dApp di dire al portafoglio quale transazione verrà emessa.

Ora, come puoi creare questa connessione? Con un portafoglio di estensione web, è chiaro che la connessione può essere effettuata all’interno del browser. Quando installi Yoroi, il browser chiede se l’estensione può leggere e modificare tutto su qualsiasi sito web.

È anche ovvio che questo tipo di connessione non può essere effettuato per nessun altro portafoglio, perché altri portafogli non vivono all’interno del browser. Abbiamo escogitato la seguente soluzione: i browser possono fornire dati ad applicazioni esterne tramite collegamenti speciali (ad esempio, qualsiasi e-mail a team@ergoplatorm.com aprirà la tua applicazione e-mail con un’e-mail scritta a team@ergoplatform.com) o tramite codici QR. E non solo i browser possono farlo, qualsiasi applicazione su smartphone o computer desktop su qualsiasi sistema operativo può visualizzare codici QR e attivare applicazioni fornendo loro dati con questi tipi di collegamenti.

Che dire dei dati all’interno del link o del codice QR? I dati contengono la cosiddetta “Reduced Transaction”, ovvero una descrizione esatta della transazione da emettere, con tutte le caratteristiche che una transazione in Ergo può avere, solo che non è firmata. I due SDK Appkit di Ergo (utilizzati principalmente per Android e desktop) e sigma-rust (utilizzati principalmente per il web) hanno implementato il supporto per la creazione della transazione ridotta.

Quindi, questo è qualcosa che le dApp devono cambiare per supportare ErgoPay: invece di dire all’estensione del portafoglio quale transazione è necessaria, dovrebbero crearla da soli.

Questo è il nucleo di ErgoPay. Ma aspetta c’è di più. Abbiamo due problemi: in primo luogo, i dati della transazione ridotta possono diventare molto grandi e non si adattano a un codice QR. I collegamenti hanno anche una restrizione di lunghezza su alcuni sistemi operativi. E il secondo problema: per alcune attività, una dApp potrebbe aver bisogno di alcuni dati dall’app wallet. Ma non esiste un canale di ritorno: puoi utilizzare la dApp su un computer desktop e il portafoglio sul tuo telefono cellulare, non c’è modo di trasferire i dati alla dApp in esecuzione all’interno del tuo browser desktop.

C’è una soluzione a questi due problemi. Il tuo browser sta comunque comunicando con un server back-end su Internet per visualizzare il sito Web dApp. Quindi, lascia che il portafoglio comunichi con il server! ErgoPay descrive uno standard di come appare questa comunicazione. Invece di fornire la transazione ridotta direttamente all’interno del codice QR o del link, il link o il codice QR contiene solo un indirizzo https a cui il portafoglio si collegherà per chiedere cosa deve essere fatto. In questo modo, la dApp può fare tutti i tipi di interazione con il portafoglio.

Per ora, descriviamo come la dApp può ottenere l’indirizzo P2PK dell’utente (poiché questo è uno scenario ampiamente utilizzato) e come la transazione ridotta può essere inviata in questo modo al portafoglio con alcune informazioni aggiuntive (ad esempio, un messaggio descrittivo da mostrare all’utente). Questo concetto è molto flessibile. Ma lasciamo il browser qui, invece di fare tutto nel browser di un utente con JavaScript, ora abbiamo una parte della dApp che vive nel browser dell’utente e una parte della dApp che vive sui server che ospitano la dApp.

Fonte:

ErgoPay, nueva conexión de Ergo con las dApps | by Daniumy | Jan, 2022 | Medium

Articoli Correlati

Risposte