Cod. Ultima revisione Wiki Note
932 2024/04/10 - PG # Internal

E' un'applicazione software progettata per la gestione di un hosted wallet, fornendo un'interfaccia sicura e user-friendly per gli utenti che desiderano interagire con il loro wallet tramite API REST. Con il supporto per un CW20 personalizzato su blockchain  commercio.network, gli utenti possono godere di funzionalità avanzate oltre al semplice invio e ricezione di token.

Caratteristiche Principali:
  1. Autenticazione Sicura: Il sistema offre un robusto meccanismo di autenticazione basato su username (email) e password utilizzando il protocollo OpenID Connect , garantendo che solo gli utenti autorizzati possano accedere al proprio wallet.
  2. Interfaccia API REST: Le REST API fornite consentono agli sviluppatori di integrare facilmente le funzionalità del wallet nelle proprie applicazioni, rendendo possibile l'accesso alle funzioni di base come il controllo del saldo del wallet e l'invio di token (CW20).
  3. Gestione del Saldo: Gli utenti possono visualizzare il saldo attuale del loro wallet in tempo reale attraverso l'interfaccia dell'applicazione, consentendo loro di tenere traccia delle loro risorse finanziarie.
  4. Funzione di Invio: Utilizzando le REST API, gli utenti possono eseguire transazioni di invio di token (CW20) in modo semplice e sicuro, specificando il destinatario e la quantità da trasferire.
  5. Supporto per (CW20) Personalizzato: Il software è progettato per supportare un (CW20) personalizzato, consentendo agli utenti di sfruttare funzionalità avanzate specifiche della loro implementazione di (CW20).
  6. Sicurezza Avanzata: Tutte le transazioni e le operazioni sono crittografate e protette da protocolli di sicurezza avanzati, garantendo la massima sicurezza delle risorse del wallet degli utenti.
  7. Monitoraggio delle Transazioni: Gli utenti possono visualizzare lo storico delle transazioni del loro wallet, consentendo loro di tracciare ogni movimento di fondi.
Benefici:
  • Facile Integrazione: Le API REST intuitive semplificano l'integrazione del wallet con altre applicazioni e servizi.
  • Controllo Finanziario: Gli utenti possono tenere traccia del proprio saldo e delle transazioni in modo efficace, garantendo un controllo finanziario ottimale.
  • Sicurezza: Con robusti meccanismi di autenticazione e crittografia, il software garantisce la massima sicurezza delle risorse del wallet.
L'hosted wallet on Premisis rappresenta una soluzione completa per la gestione sicura e efficiente di un hosted wallet, offrendo funzionalità avanzate e una semplice integrazione attraverso le sue REST API.


Software da installare


Queste componenti software collaborano sinergicamente per fornire un'esperienza utente completa e affidabile per il Wallet Manager, consentendo agli utenti di accedere in modo sicuro alle loro risorse e di utilizzare le funzionalità del wallet in modo efficiente e intuitivo.

1. Full Node

E' il Nodo con cui lo stack interagisce con la blockchain  commercio.network   Un full node è un componente essenziale di una rete blockchain che mantiene una copia completa del DB della  blockchain stessa.

Questo nodo memorizza l'intero storico delle transazioni dal momento della sua installazione fino al blocco più recente. Oltre alla memorizzazione dei dati, il full node partecipa attivamente alla rete peer-to-peer della blockchain, comunicando con altri nodi per condividere informazioni sui blocchi, sullo stato della rete e sulle transazioni in corso. I full node sono fondamentali per garantire la distribuzione delle informazioni e la sincronizzazione della blockchain tra tutti i nodi della rete. Pur non essendo responsabili della creazione o della validazione dei nuovi blocchi, i full node forniscono un'infrastruttura affidabile per gli utenti e gli sviluppatori che desiderano interagire direttamente con la blockchain senza dover affidarsi a servizi esterni.

In breve, un full node rappresenta un punto di accesso fondamentale per interagire con una blockchain in modo diretto e sicuro a supporto di applicazioni decentralizzate che fanno uso di smart contract Es cw20. Rif  https://docs.commercio.network/nodes/full-node-in...

2. IDM Login (Keycloack)

IDM (Identity Management) Login, implementato tramite Keycloak, è un sistema robusto che gestisce le operazioni di registrazione e login degli utenti. Keycloak fornisce un sistema di autenticazione sicuro basato su standard aperti come OAuth e OpenID Connect. Questa componente gestisce in modo affidabile l'autenticazione degli utenti, garantendo l'accesso sicuro al Wallet Manager tramite un'interfaccia intuitiva e user-friendly.

In fase di installazione vengono configurati due utenti

Keycloack Administrator

E' l'utente amministratore dell'IDM . Accede ad un apposito pannello con le prerogative di gestione dei parametri di autenticazione degli utenti registrati

HW Administrator

E' l'utente amministratore del wallet principale del sistema che viene utilizzato per accreditare i nuovi utenti registrati. Ad esso è associato un wallet.

E' importante che venga tenuto sotto controllo il suo balance in modo che sia in grado di inviare i primi CCC (commercio cash credits 1 CCC per new user) di inizializzazione dei wallet  dei nuovi utenti registrati 
 
In fase di installazione serve comunicare gli indirizzi email da utilizzare per la creazione degli account in apposito ticket di installazione. Al termine dell'installazione verranno comunicate dal nostro staff le password di accesso


3. Api services

Le API Services costituiscono l'ambiente che rende disponibili le REST API per interagire con l'hosted wallet. Queste API forniscono un insieme di endpoint che consentono agli sviluppatori di accedere alle funzionalità del wallet in modo semplice e sicuro. Le API Services sono progettate per essere scalabili e affidabili, garantendo prestazioni ottimali e un'esperienza utente fluida. 

4. Backend

Il Backend è il software che esegue le operazioni delle REST API e gestisce le interazioni con l'IDM Login. Questa componente è responsabile dell'elaborazione delle richieste provenienti dal Frontend e dall'IDM, garantendo un'interfaccia coerente e affidabile per gli utenti. Il Backend gestisce inoltre la logica di business del Wallet Manager, inclusi il controllo del saldo del wallet, le transazioni e la sicurezza delle operazioni.

5. Frontend (Boilerplate)

Il Frontend, sviluppato come Boilerplate in Vue.js, fornisce un prototipo di interfaccia utente per il Wallet Manager. Questo prototipo è progettato per interagire con le REST API fornite dalle API Services, consentendo agli utenti di accedere alle funzionalità del wallet tramite un'interfaccia web intuitiva e reattiva. Il Boilerplate Vue.js fornisce una base solida per lo sviluppo di un'applicazione web completa, consentendo agli sviluppatori di estendere e personalizzare l'interfaccia utente secondo le proprie esigenze.



Accessi Cloud per l'installazione

Per procedere con l'installazione del pacchetto software è necessario  che il nostro staff  abbia accesso ad un account del cliente presso il provider  Digital Ocean

Per dare accesso al nostro staff è necessario accreditare un utente che vi verrà comunicato tramite ticket di assistenza seguendo la procedura descritta qui Invite a 

Installazione Basic

L'installazione nel cloud è di tipo basic e prevede

Droplet Full node

I requisiti minimi della droplet per l'installazione del nodo sono i seguenti :

  • OS: Ubuntu: 22.04 LTS
  • Processor: Premium Intel
  • RAM/CPUs: 8 GB / 4 Intel CPUs
  • SSD Memory: 240 GB


  • Droplet HW

    La componenti da 2 a 5 sono installate in un unica droplet che ha questi requisiti minimi

  • OS: Ubuntu: 22.04 LTS
  • Processor: Premium Intel
  • RAM/CPUs: 2 GB / 2 Intel CPUs
  • SSD Memory: 70 GB NVMe SSDs



  • Enanchement Installazione

    Nell'installazione basic NON sono previsti

    • Strumenti di monitoraggio
    • Backup dell'installato

    Eventuali suddivisioni dell'HW in droplet distinte per una ottimizzazione dell'architettura e versioni di DB managed o altri tipi di ottimizzazione vanno valutati successivamente in base alle esigenze specifiche del cliente

    Domini e puntamenti

    Per l'installazione serve prevedere il puntamento di una serie di domini di secondo livello (legati ad un dominio in gestione del cliente) che verranno associati alle droplet installate nel cloud 
    in particolare supponendo sia utilizzato il dominio vostrodominio.com  qualcosa del tipo 


    Https Certificate renewals

    Manual procedure to renew certificate
    cd /root/platform
    docker compose stop
    certbot renew
    docker compose up -d


    Smtp Configuration

    Per il funzionamento dell IDM, in particolare, per invio notifiche email di registrazione e forgot password viene utilizzato di default un account SMTP corrispondente all'account noreply-dev@commercio.xyz

    E' possibile modificarlo ma deve essere fornito un account SMTP del cliente, seguire i seguenti passaggi:
    1. Accesso alla dashboard admin di Keycloak
    2. Selezione del realm per cui impostare l'email (generalmente hwp)
    3. Selezione della scheda Realm settings
    4. Selezione del tab Email
    5. Impostare l'indirizzo da cui le mail vengono spedite nel campo From
    6. Impostare i parametri SMTP nella sezione Connection & Authentication a fondo pagina con le impostazioni definite dal proprio provider. In genere è necessario anche abilitare Authentication fornendo così Username e Password dell'account SMTP che si intende usare. Preferire sempre connessioni sicure (TLS/SSL).
    7. Salvare la configurazione premendo su Save

    Questa è una guida di configurazione indicativa poi serve verificare in base alla tipologia di account di posta utilizzati

    Ambiente di sviluppo e test

    Esiste un ambiente demo di sviluppo e test disponibile a questi endpoint