Cod. | Ultima revisione | Wiki | Note |
932 | 2024/04/10 - PG | # Internal |
|
Hosted wallet on premisis
Caratteristiche Principali:
- 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.
- 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).
- 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.
- 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.
- 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).
- 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.
- Monitoraggio delle Transazioni: Gli utenti possono visualizzare lo storico delle transazioni del loro wallet, consentendo loro di tracciare ogni movimento di fondi.
- 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.
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 registratiHW 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 OceanPer 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 prevedeDroplet Full node
I requisiti minimi della droplet per l'installazione del nodo sono i seguenti :Droplet HW
La componenti da 2 a 5 sono installate in un unica droplet che ha questi requisiti minimiEnanchement 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 cloudin particolare supponendo sia utilizzato il dominio vostrodominio.com qualcosa del tipo
- IDM Login: https://login.vostrodominio.com
- API services: https://api.vostrodominio.com
- Servizio swagger risulterà : https://api.vostrodominio.com/swagger/index.html
- Frontend Boilerplate : https://app.vostrodominio.com
- Backend: https://backend.vostrodominio.com
Https Certificate renewals
Manual procedure to renew certificatecd /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.xyzE' possibile modificarlo ma deve essere fornito un account SMTP del cliente, seguire i seguenti passaggi:
- Accesso alla dashboard admin di Keycloak
- Selezione del realm per cui impostare l'email (generalmente
hwp
) - Selezione della scheda
Realm settings
- Selezione del tab
Email
- Impostare l'indirizzo da cui le mail vengono spedite nel campo
From
-
Impostare i parametri SMTP nella sezione
Connection & Authentication
a fondo pagina con le impostazioni definite dal proprio provider. In genere è necessario anche abilitareAuthentication
fornendo cosìUsername
ePassword
dell'account SMTP che si intende usare. Preferire sempre connessioni sicure (TLS/SSL). - 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- Frontend Boilerplate: https://dev-app.commercio.xyz
- API Services Swagger: https://dev-api.commercio.xyz/swagger/index.html
- Login: https://dev-login.commercio.xyz
- Chain di riferimento: https://testnet.commercio.network/