Installa, configura e distribuisci la soluzione

Per implementare questa soluzione, ci sono tre aree principali su cui lavorare come descritto nella sezione seguente.

  1. Preparazione dell'infrastruttura blockchain.
  2. Sviluppo e implementazione dello smart contract.
  3. Creazione delle applicazioni che utilizzeranno il nostro contratto intelligente.


oracle-blockchain-cms-plan-oracle.zip

Crea una rete Hyperledger Fabric, che inizialmente sarà composta da un'unica organizzazione, ma può essere facilmente ridimensionata a tutti i membri di cui hai bisogno.

Quindi, procederemo alla creazione dello smart contract per gestire la logica necessaria per persistere e gestire in blockchain le entità richieste dal nostro caso d'uso aziendale.

Una volta creato il progetto di smart contract, lo installeremo e lo implementeremo nella rete blockchain che abbiamo creato prima, quindi configureremo gli account, le iscrizioni e infine eseguiremo l'inizializzazione dello smartcontract e dei suoi NFT.

A questo punto, i metodi degli smart contract sono già stati pubblicati tramite il gateway API della nostra istanza Oracle Blockchain, noto anche come RESTPROXY, quindi sono pronti per essere utilizzati dalle applicazioni client, nel nostro caso l'applicazione Web che abbiamo già creato con VBCS e che forniremo nell'ultima sezione.

L'ultimo passo è la creazione del bucket di storage OCI in cui verranno memorizzati i documenti e, infine, l'ultimo passo è la riconfigurazione dell'applicazione di esempio VBCS per puntare alla nostra rete Blockchain appena creata e al nuovo bucket configurato nella nostra tenancy. Una volta completata tutta la riconfigurazione, l'applicazione verrà distribuita nella nostra tenancy.

Creare una rete Oracle Blockchain

Per la creazione di una rete Hyperledger Fabric (HLF) basata su Oracle Blockchain, stiamo utilizzando Oracle Blockchain Cloud Service.

Creeremo una rete HLF a istanza singola, in base al caso d'uso possiamo mostrare le funzionalità all'interno di una singola organizzazione appartenente alla rete. Le nuove organizzazioni possono unirsi alla rete incorporando la propria istanza Blockchain, consentendo ai nuovi utenti di queste organizzazioni di possedere le proprie cartelle o di rivedere il contenuto delle cartelle esistenti di proprietà di altri membri.

Crea l'istanza fondatore

  1. Nel menu Servizi OCI selezionare Servizi per sviluppatori e fare clic su Piattaforma blockchain.
  2. Dal selettore di combinazione compartimento situato sul lato sinistro di OCI Console, assicurarsi che sia selezionato il compartimento in cui si desidera creare l'istanza.
  3. Fare clic su Crea piattaforma Blockchain.
  4. Dare alla piattaforma un nome visualizzato (ad esempio, org1), aggiungere facoltativamente una descrizione e mantenere le selezioni predefinite rimanenti poiché sono le impostazioni per creare un'istanza fondatore, che sarà il fondatore di una nuova rete Hyperledger Fabric e utilizzerà la forma standard, che ha esattamente le stesse funzionalità della forma Enterprise ma a un costo inferiore, ma valida per il lavoro di sviluppo. Fare clic su Crea.
    La creazione dell'istanza per questa organizzazione (org1) è stata sottomessa e sarà pronta tra qualche minuto.
Una volta creata l'istanza Founder, potrai accedere alla console Oracle Blockchain per questa istanza facendo clic su Console del servizio.

Crea un canale

Dobbiamo unirci alle organizzazioni a livello di canale per consentire la comunicazione tra il fondatore e il partecipante. Questa azione verrà eseguita utilizzando la console del servizio Blockchain.

  1. Dalla console del servizio Blockchain dell'istanza fondatore (org1), selezionare la scheda Canali e fare clic su Crea un nuovo canale.
  2. Completare i campi necessari.
    • Impostare wedocms come nome canale o qualsiasi nome in base alle preferenze.
    • Selezionare le opzioni (peer0 e peer1) per la sezione Peer da unire al canale.
  3. Confermare la creazione facendo clic su nel popup di conferma.
    Verificare che la tabella dei canali visualizzi il nuovo canale. Fare clic sul nome del canale (wedocms) per visualizzare i dettagli del canale. È possibile visualizzare tutti i dettagli sul canale, ad esempio le transazioni salvate nei blocchi del libro contabile, i codici concatenati distribuiti nel canale, gli ordini e i pari livello configurati, le organizzazioni appartenenti al canale e così via.

Crea account utente

Verrà utilizzato Oracle Identity Cloud Service per creare almeno un utente per ogni reparto tra le cartelle che può essere scambiato. Per ciascuno di questi utenti, verrà creato un account per contenere le diverse cartelle di cui sono proprietari.

Verrà creato l'utente cmsrsk001 che appartiene all'Ufficio rischi, l'utente cmsfin001 che appartiene all'Ufficio finanziario e l'utente cmsleg001 che appartiene all'Ufficio legale.
  1. Dal menu di navigazione della console OCI nell'angolo superiore sinistro, fare clic su Identità e sicurezza e selezionare l'opzione Federazione nella sezione Identità.
  2. Fare clic sul collegamento del nome del provider di identità.
  3. Fare clic su Crea utente.
  4. Impostare come nome utente il valore che si desidera utilizzare per il login alla console o come nome utente di autorizzazione per eseguire le API REST dello smart contract. Nel campo Posta elettronica impostare l'indirizzo di posta elettronica dell'account OCI in modo da ricevere il messaggio di posta elettronica per reimpostare la password per questo utente e fare clic su Crea.
  5. Fare clic su Assegna ruoli.
  6. Per il servizio AUTOBLOCKCHAIN, fare clic sui puntini di sospensione a destra e selezionare Gestisci accesso istanza.
  7. A seconda dell'utente creato, assegnare i privilegi in base alla tabella riportata di seguito e, dopo aver assegnato i ruoli corretti, fare clic su Aggiorna impostazioni istanza. È necessario visualizzare i ruoli assegnati correttamente.

    Tabella - Assegnazione ruolo

    Nome utente Istanza Ruoli
    cmsrsk001 org1 AMMINISTRATORE, REST_CLIENT
    cmsfin001 org1 AMMINISTRATORE, REST_CLIENT
    cmsleg001 org1 AMMINISTRATORE, REST_CLIENT
  8. (Facoltativo) Verrà richiesto di inviare un messaggio di posta elettronica all'indirizzo di posta elettronica dell'utente che informa i ruoli concessi.
  9. Durante il processo di creazione dell'utente, si riceverà un messaggio e-mail nell'account associato all'utente creato di recente per reimpostare la password per questo utente. Utilizzare il collegamento fornito per impostare la password dell'utente appena creato.

Crea iscrizioni nei nodi proxy REST

Oracle Blockchain Platform supporta le iscrizioni al proxy REST. Queste iscrizioni vengono utilizzate nei codici concatenati in cui esistono token FT o NFT per mappare l'identità del chiamante al ruolo che esegue la transazione. A tale scopo, è necessario creare la relazione dell'utente con il ruolo definito nella blockchain e, per semplicità, è possibile denominare il ruolo come utente.

Ogni iscrizione deve essere creata nell'istanza in cui l'utente con tale ruolo è autorizzato a eseguire transazioni tramite il proxy REST su tale istanza Blockchain. Pertanto, è necessario creare l'iscrizione cmsrsk001 assegnata all'utente cmsrsk001 nel nodo proxy REST dell'istanza fondatore (org1) e lo stesso per gli altri due utenti come descritto nella tabella seguente.
Nome utente Iscrizione Istanza
cmsrsk001 cmsrsk001 org1
cmsfin001 cmsfin001 org1
cmsleg001 cmsleg001 org1
  1. Dalla console del servizio Blockchain dell'istanza fondatore (org1), passare alla scheda Nodi.
  2. Fare clic sul menu hamburger oltre a restproxy e selezionare Visualizza o gestisci iscrizioni.
  3. Selezionare Crea nuova iscrizione.
  4. Impostare ID iscrizione come cmsrsk001, ID utente come cmsrsk001 e fare clic su Iscriviti.
Ripetere il passo 4 per creare iscrizioni per gli altri due utenti: cmsfin001 e cmsleg001. Nel caso in cui siano stati creati utenti di altre organizzazioni, le iscrizioni per tali utenti devono essere create nel proxy REST dell'istanza blockchain a cui appartengono.

Preparare l'ambiente di sviluppo di Oracle Blockchain App Builder

La creazione di uno smart contract Hyperledger Fabric (HLF) richiede la conoscenza degli aspetti intrinseci di HLF, come codificare in Java, Typescript o GoLang e come distribuire e gestire l'intero ciclo di vita del progetto di smart contract.

Oracle Blockchain App Builder è stato creato per semplificare la creazione di un progetto smart contract. Infatti, Oracle Blockchain App Builder è uno strumento low-code in grado di creare l'intero progetto chaincode da zero, escludendo qualsiasi codice personalizzato richiesto dal tuo business case. Oracle Blockchain App Builder ti aiuterà anche nelle fasi di test, nel packaging del progetto e anche nella distribuzione del codice concatenato localmente nel tuo computer per il test unitario o in remoto in una vera e propria rete Hyperledger Fabric.

oracle-app-builder-oracle.zip

Oracle Blockchain App Builder è stato creato in due versioni. È possibile utilizzarlo come strumento della riga di comando finalizzato ad automatizzare i passi di creazione e distribuzione nei processi CI/CD oppure come plugin per il codice visivo Microsoft. Entrambi ti permetteranno di eseguire esattamente la stessa funzionalità, basta selezionare quella che preferisci a seconda delle tue preferenze. Oracle Blockchain App Builder dispone delle funzioni riportate di seguito.

  • Sviluppo: Oracle Blockchain App Builder creerà l'intero progetto con codice concatenato creando quello che viene definito file di specifica personalizzato. Il progetto includerà tutte le entità codificate, tutti i loro accessor insieme a tutti i metodi CRUD per gestire tali entità, e anche la firma di qualsiasi metodo personalizzato richiesto per qualsiasi logica aziendale non standard o complessa richiesta dalla tua applicazione, che diventerà l'unico codice necessario per essere implementato manualmente.
  • Distribuzione: una volta che il progetto chaincode è pronto per il test, è possibile distribuirlo localmente nella rete Hyperledger Fabric preconfigurata o in remoto in qualsiasi istanza Oracle Blockchain Platform cloud o on premise esistente. Un'altra opzione consiste nel creare il package del progetto da distribuire manualmente tramite la console di Oracle Blockchain.
  • Test: una volta distribuito il progetto, è possibile eseguire il test di uno qualsiasi dei metodi generati automaticamente o personalizzati del progetto codice concatenato.
  • Debug: se si utilizza l'estensione Visual Studio Code, sarà inoltre possibile eseguire il debug riga per riga del codice concatenato.

È possibile installare una delle due versioni disponibili di Oracle Blockchain App Builder seguenti:

Se non ti senti a tuo agio nell'installazione di questo tipo di strumenti di sviluppo e di tutte le loro dipendenze, ma hai accesso a Oracle Cloud, puoi scegliere di creare una scatola di sviluppo dedicata con tutti questi prodotti già installati e pronti per essere utilizzati nel cloud e accedervi da remoto. Questi computer sono convenienti a causa della forma di computazione necessaria e vengono fatturati solo quando sono operativi.

Oracle LiveLabs dispone di un laboratorio in cui è possibile distribuire un computer remoto in pochi minuti, in base a un'immagine VM già preconfigurata dal team di sviluppo di Oracle Blockchain. Per ulteriori informazioni, vedere Sviluppo di applicazioni blockchain low code mediante Apex e Blockchain App Builder.

Nota

Nel laboratorio, per preparare un computer cloud con Visual Code Studio e il plugin low code di Oracle Blockchain App Builder installato su di esso, è sufficiente eseguire i passi Prepara impostazione e impostazione dell'ambiente.

Creare e configurare il bucket OCI Object Storage

Verrà configurato il bucket OCI Object Storage che consentirà di memorizzare e recuperare i documenti dall'applicazione Web Oracle Visual Builder.

Le azioni vengono eseguite dall'applicazione Web in sincronia con la creazione dell'hash del documento che verrà memorizzato in Blockchain durante il caricamento del documento nel bucket e la verifica della validità dell'hash quando il documento viene scaricato.

Nota

Per ulteriori dettagli su come codificare un'applicazione Oracle Visual Builder per caricare o scaricare file da OCI Object Storage, vedere: Carica / scarica file da OCI Storage in un'applicazione Visual Builder.

Per abilitare l'uso dei bucket tramite l'API REST offerta dai bucket di archiviazione oggetti OCI, è necessario creare una chiave API OCI correlata all'utente autorizzato a eseguire l'API REST. Eseguire i due task di configurazione riportati di seguito per utilizzare i bucket OCI Object Storage nell'applicazione Web VBCS.

Per abilitare l'uso dei bucket di storage degli oggetti OCI dall'applicazione Oracle Visual Builder, è necessario creare una chiave API OCI per ottenere l'accesso ai servizi OCI tramite l'API REST.

  1. Eseguire il login a OCI Console e fare clic sull'icona Profilo nella parte superiore destra della console per accedere alle impostazioni utente.
  2. Scorrere verso il basso e fare clic su Chiavi API nel menu Risorse.
  3. Fare clic su Aggiungi chiave API per aggiungere una nuova chiave API.
  4. Selezionare Genera coppia di chiavi API.

    Nota

    Puoi usare le tue chiavi pubbliche e private in formato pem, ma in questo playbook di soluzioni useremo le chiavi generate automaticamente.
  5. Scaricare le chiavi private e pubbliche e contrassegnare un file .pem come pubblico.
  6. Fare clic su Aggiungi.
  7. Fare clic sul collegamento Copia per copiare le credenziali API OCI in un file di testo nel computer locale in quanto saranno necessarie per i passi successivi.
  8. Fare clic su Chiudi.
    È necessario creare una nuova chiave API e visualizzare la chiave di impronta digitale nella console Web OCI. È possibile accedere al file di configurazione copiato prima sul desktop facendo clic sui puntini di sospensione nella riga Impronta digitale e selezionando Visualizza file di configurazione.

    Nota

    Salva i dettagli poiché ne avrai bisogno insieme alla chiave privata per i passaggi successivi.
  9. Crea un bucket in cui verranno memorizzati i nostri oggetti. Passare a Memorizzazione, quindi fare clic su Bucket.
    Per semplicità può essere creato come pubblico, in modo che non richieda l'autenticazione, ma puoi ottenere lo stesso con i bucket di visibilità privati.
  10. Selezionare un compartimento in cui si desidera creare il bucket e fare clic su Crea bucket.
  11. Nella schermata Crea bucket, assegnare un nome al bucket, lasciare gli altri parametri di configurazione predefiniti e fare clic su Crea per terminare la creazione del bucket.
    Il nuovo bucket verrà visualizzato nel compartimento selezionato. Selezionare il nome del bucket per visualizzare i dettagli. Fare clic su Oggetti nel menu a sinistra per visualizzare gli oggetti caricati in questo bucket.