Ciclo di vita codice catena
Il ciclo di vita del codice concatenato descrive il processo di installazione del codice concatenato sui peer e di distribuzione su un canale.
Il ciclo di vita del codice concatenato si basa sulle funzionalità della piattaforma Hyperledger Fabric, che consente la governance decentralizzata dei codici concatenati. Più organizzazioni possono concordare i parametri del codice concatenato, incluso il criterio di approvazione del codice concatenato, prima che un codice concatenato possa interagire con il libro contabile. Queste funzioni vengono implementate nelle nuove opzioni di distribuzione rapida e avanzata, nonché nell'API REST. Per ulteriori informazioni sul ciclo di vita, vedere Ciclo di vita del codice concatenato Fabric nella documentazione di Hyperledger Fabric.
In genere, per distribuire un codice concatenato installato, è possibile utilizzare la distribuzione rapida o la distribuzione avanzata nella console. Il processo di distribuzione include la creazione di package e l'installazione del codice concatenato, nonché l'approvazione e il commit della definizione del codice concatenato. È inoltre possibile utilizzare l'API REST per completare separatamente le operazioni di approvazione e impegno.
Package e installazione di un codice concatenato
Quando si installa il codice concatenato in Oracle Blockchain Platform, il codice concatenato viene inserito nel package, installato e l'ID di un package viene generato automaticamente. L'ID del pacchetto viene visualizzato nella scheda Chaincodes della console.
Approva definizione codice concatenato
Prima di poter distribuire un codice concatenato a un canale, la definizione del codice concatenato deve essere approvata da un numero sufficiente di organizzazioni per soddisfare il criterio LifecycleEndorsement del canale. Il criterio LifecycleEndorsement predefinito in Oracle Blockchain Platform consente a qualsiasi organizzazione di approvare la definizione del codice concatenato (anziché la maggior parte delle organizzazioni). La definizione di codice concatenato include i seguenti parametri, che devono essere uguali per tutte le organizzazioni: Chaincode Name, Version, Sequence, Endorsement Policy, Private Data Collection e Init-required. Una definizione di codice concatenato può includere anche un Package ID, che non deve essere uguale per tutte le organizzazioni.
Dopo l'approvazione di una definizione di codice concatenato, un'organizzazione può raccogliere le dichiarazioni a sostegno dei pari livello delle organizzazioni di approvazione e quindi eseguire il commit della definizione di codice concatenato sul canale.
Per approvare una definizione di codice concatenato utilizzando l'API REST, vedere Approva una definizione di codice concatenato in un canale.
Nella console, quando si utilizza la distribuzione rapida o la distribuzione avanzata, vengono tentati entrambi i passi di approvazione e impegno.
Esegui commit definizione codice concatenato
Per eseguire il commit di una definizione di codice concatenato approvata utilizzando l'API REST, vedere Eseguire il commit di una definizione di codice concatenato in un canale.
Nella console è possibile visualizzare le definizioni di codice concatenato approvate ma non sottoposte a commit nella pagina Codici concatenati distribuiti per il canale. È possibile utilizzare il menu Altre azioni per eseguire il commit del codice concatenato approvato.
Scenari ciclo di vita codice catena
| Scenario | Descrizione |
|---|---|
| Entra in un canale |
In genere nella console non si approva una definizione di codice concatenato senza eseguirne il commit. Se si accede a un canale condiviso in cui è stato eseguito il commit di una definizione di codice concatenato da parte di un'altra organizzazione, la definizione di codice concatenato verrà elencata come di cui è stato eseguito il commit ma non approvata nella pagina Codici concatenati distribuiti per il canale. È possibile utilizzare il menu Altre azioni per approvare la definizione del codice concatenato e anche per associare un ID pacchetto. Non è necessario eseguire di nuovo il commit della definizione del package. |
| Aggiorna un criterio di approvazione |
È possibile aggiornare il criterio di approvazione nella definizione del codice concatenato senza reinstallare il codice concatenato. Nella pagina Codici concatenati distribuiti per il canale, utilizzare il menu Altre azioni per aggiornare la definizione del codice concatenato. Espandere Criteri di approvazione e specificare un nuovo criterio, quindi fare clic su Aggiorna. |
| Approva una definizione senza installare |
In uno scenario di più organizzazioni, per approvare una definizione di codice concatenato senza installare il pacchetto codice concatenato, non specificare un ID pacchetto. Approvare la definizione del codice concatenato di cui è stato eseguito il commit per il canale, ma il codice concatenato non è installato sui pari livello dell'organizzazione. Non sarà possibile utilizzare il codice concatenato per approvare le transazioni o eseguire query sul libro contabile. |
| Disaccordo sulle definizioni |
In uno scenario di più organizzazioni, un'organizzazione che non approva una definizione di codice concatenato o approva una definizione di codice concatenato diversa non è in grado di eseguire il codice concatenato sui propri pari livello. Se altre organizzazioni ottengono abbastanza approvazioni per eseguire il commit della definizione sul canale, tali organizzazioni possono utilizzare il codice concatenato. Le transazioni vengono ancora aggiunte al libro contabile sui pari livello di tutte le organizzazioni. Se le organizzazioni non sono d'accordo su una definizione di codice concatenato e nessuna organizzazione ottiene abbastanza approvazioni per eseguire il commit della definizione sul canale, la definizione non può essere sottoposta a commit e quindi il codice concatenato non può essere eseguito. |
| Più organizzazioni installano pacchetti diversi |
È possibile specificare un ID pacchetto diverso quando si approva una definizione di codice concatenato per un canale con più organizzazioni. Se il nome della definizione e il criterio di approvazione sono uguali, i membri del canale possono installare un codice concatenato specifico della propria organizzazione, ma che legge e scrive i dati nello stesso spazio di nomi del codice concatenato. |
| Crea più codici concatenati da un package |
Analogamente, è possibile approvare ed eseguire il commit dello stesso package di codici concatenati più volte, specificando un nome diverso per ciascuna definizione. Più istanze del codice concatenato vengono eseguite sul canale. Se si specifica anche un criterio di approvazione diverso per ogni definizione, ogni istanza del codice concatenato è soggetta a un criterio di approvazione diverso. |