Test del codice concatenato mediante Visual Studio Code
Se il codice concatenato è in esecuzione su una rete, è possibile eseguire il test di uno qualsiasi dei metodi generati. Inoltre, se hai scelto di creare il metodo executeQuery
durante lo sviluppo del codice concatenato, puoi eseguire query avanzate SQL se il tuo codice concatenato viene distribuito in una rete Oracle Blockchain Platform.
Test del codice concatenato su una rete Hyperledger Fabric locale
Dopo che il progetto con codice concatenato è in esecuzione su una rete locale, è possibile testarlo.
Blockchain App Builder contiene una procedura guidata integrata che consente di richiamare o eseguire query sul codice concatenato.
- Selezionare il progetto codice concatenato nel riquadro Codici concatenati. Nel riquadro Dettagli codice, selezionare Esegui. Il nome del codice concatenato è già selezionato. Assicurarsi che l'ambiente di destinazione sia impostato su Ambiente locale, in modo che per impostazione predefinita il canale sia l'unico canale disponibile.
- Nel campo Funzione selezionare un metodo dall'elenco a discesa. Ogni metodo disponibile nel codice concatenato è elencato.
- Nel campo Parametro funzione fare clic sul pulsante Altre azioni. Viene visualizzata una finestra che mostra le proprietà disponibili per il metodo selezionato. Immettere le proprietà e fare clic su Ometti per le proprietà non obbligatorie che non si desidera sottomettere quando si chiama il metodo. Fare clic su Salva.
- Fare clic su Richiama.
Nella finestra della console Output viene indicato che la funzione è stata chiamata. In alternativa, nel riquadro Azioni codice, la finestra Output funzione mostra l'output. Fare clic su Altre azioni per visualizzare l'output formattato.
Per salvare il metodo e i parametri appena eseguiti, fare clic su Salva e immettere un nome e una descrizione. La funzione viene salvata nel progetto codice concatenato nella cartella Queries
. Per utilizzarlo di nuovo, fare clic con il pulsante destro del mouse su di esso e selezionare Apri.
Se si apportano modifiche al file del controller che modificano i metodi, selezionare l'icona Ricarica nella parte superiore del riquadro Esecuzione codice. La modifica verrà quindi riportata nell'elenco a discesa Funzione.
Nota
Se non si desidera utilizzare la procedura guidata per i test, è anche possibile eseguire gli strumenti della riga di comando di Blockchain App Builder nella finestra Terminale di Visual Studio Code. Per ulteriori informazioni sul test dalla riga di comando, vedere Test del codice concatenato su una rete locale Hyperledger Fabric.Test di più utenti token in locale
Per eseguire il test locale di un progetto token con più utenti, è possibile utilizzare la proprietà tokenUser
per modificare il chiamante di ogni transazione. Ogni progetto di codice concatenato impalcato include un file .ochain.json
, che memorizza i metadati del codice concatenato. Per modificare il chiamante, aggiornare il valore del campo tokenUser
nel file .ochain.json
.
{
"name": "digiCurrCC",
"description": "Chaincode package for digiCurrCC",
"chaincodeName": "digiCurrCC",
"chaincodeType": "node",
"configFileLocation": "/Users/user1/token.yml",
"appBuilderVersion": "21.2.3",
"nodeVersion": "v12.18.1",
"tokenUser": "admin"
}
Quando viene eseguito lo scaffold di un progetto, la proprietà tokenUser
viene impostata sull'utente admin
predefinito della rete locale. Per modificare il chiamante di una transazione, modificare la proprietà tokenUser
in modo che corrisponda alla proprietà user_id
impostata al momento della creazione dell'account quando è stato richiamato il metodo createAccount
(TypeScript) o CreateAccount
(Go).
Installazione e distribuzione automatiche dopo l'aggiornamento
Ogni volta che aggiorni e salvi il tuo codice concatenato, le modifiche verranno compilate, installate e distribuite automaticamente. Non c'è bisogno di eliminare o riattivare la rete locale. Tutti i progetti verranno compilati e distribuiti automaticamente per ogni modifica.
Test delle operazioni del ciclo di vita su una rete Oracle Blockchain Platform remota
Una volta completata la distribuzione del progetto con codice concatenato nella rete remota di Oracle Blockchain Platform, è possibile eseguirne il test.
È possibile eseguire il test del codice concatenato in esecuzione su una rete Oracle Blockchain Platform remota simile al test su una rete locale, come descritto in Test del codice concatenato su una rete Hyperledger Fabric locale.
È possibile utilizzare gli stessi comandi per completare tutte le transazioni dei metodi su una rete remota di Oracle Blockchain Platform Cloud o Enterprise Edition; tutto ciò che è supportato sulla rete locale è supportato anche sulla rete remota. Quando si eseguono i test, selezionare l'istanza di Oracle Blockchain Platform come ambiente di destinazione.
Test dei progetti token su una rete Oracle Blockchain Platform remota
Puoi eseguire il test dei progetti di codice concatenato che funzionano con i token utilizzando Blockchain App Builder, il proxy REST di Oracle Blockchain Platform o l'SDK di Hyperledger Fabric.
Creazione app blockchain
È possibile utilizzare l'estensione Visual Studio Code per chiamare le transazioni con più utenti per eseguire il test dei codici concatenati dei token. Per eseguire il test con più utenti, modificare i parametri di autorizzazione (nome utente e password) nella scheda Ambienti, quindi salvare l'ambiente. Durante il richiamo delle transazioni, selezionare lo stesso ambiente dall'elenco a discesa, quindi eseguire la transazione.
Proxy REST di Oracle Blockchain Platform
È possibile utilizzare il proxy REST in Oracle Blockchain Platform per eseguire un codice concatenato di token su una rete Oracle Blockchain Platform remota. Utilizzare qualsiasi client proxy REST, ad esempio il client REST Postman, per eseguire il test del progetto codice concatenato.
Per eseguire il test di più utenti, modificare i parametri di autorizzazione (nome utente e password) nel client REST o connettersi a un'altra istanza di Oracle Blockchain Platform.
Esegui rich query SQL DB Berkeley
Se si sceglie di creare il metodo executeQuery
durante lo sviluppo del codice concatenato, è possibile eseguire query avanzate SQL se il codice concatenato viene distribuito in una rete Oracle Blockchain Platform.
Se nella sezione customMethods
del file di specifica è stato utilizzato executeQuery
, nel controller verrà creato un metodo executeQuery
corrispondente.
customMethods:
- executeQuery
- "fetchRawMaterial(supplierid: string, rawMaterialSupply: number)"
- "getRawMaterialFromSupplier(manufacturerId: string, supplierld: string, rawMaterialSupply: number)"
- "createProducts(manufacturerId: string, rawMaterialConsumed: number, productsCreated: number)"
- "sendProductsToDistribution()"
**
*
* BDB sql rich queries can be executed in OBP CS/EE.
* This method can be invoked only when connected to remote OBP CS/EE network.
*
*/
@Validator(yup.string())
public async executeQuery(query: string) {
const result = await OchainController.query(query);
return result;
}
È possibile chiamare questo metodo per eseguire query RTF su Berkeley DB SQL sulla rete Oracle Blockchain Platform. Quando si eseguono le query, è necessario selezionare l'ambiente Oracle Blockchain Platform creato come ambiente di destinazione.
- Nel riquadro Dettagli codice, selezionare Esegui. Il nome del codice concatenato, l'ambiente di destinazione e il canale sono già specificati dal passo di distribuzione.
- Nel campo Nome funzione selezionare
executeQuery
dall'elenco a discesa. - Nel campo Parametro funzione fare clic su Altre azioni. Viene visualizzata una finestra in cui è possibile immettere la stringa di query. Immettere gli argomenti per la query, quindi fare clic su Salva.
- Fare clic su Query.
ochain query executeQuery "SELECT key, valueJson FROM <STATE> WHERE
json_extract(valueJson, '$.rawMaterialAvailable') = 4"
L'intera query SQL viene utilizzata nell'argomento in modo da poter apportare modifiche immediate alla query.
Generare comandi CLI dalle query
Se sono presenti query salvate in un progetto con codice concatenato in Visual Studio Code, è possibile generare automaticamente i comandi CLI equivalenti.
È necessario disporre di almeno una query salvata in un progetto codice concatenato per generare comandi CLI per macOS e Linux e per Microsoft Windows.
- Espandere il progetto nel riquadro Codici di catena.
- Fare clic con il pulsante destro del mouse su Query.
- Fare clic su Generate CLI Commands.
Nella sezione Query del riquadro Chaincodes vengono generati e visualizzati due file di testo: CLIcommandsForLinux.txt
e CLIcommandsForWindows.txt
. Selezionare il nome del file per aprire il file e mostrare i comandi CLI corrispondenti.