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
Una volta che il tuo progetto di codice concatenato è in esecuzione su una rete locale, puoi 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 deve essere già selezionato. Assicurarsi che l'ambiente di destinazione sia impostato su Ambiente locale e che per impostazione predefinita il canale sia l'unico canale disponibile.
- Nel campo Funzione selezionare il metodo dall'elenco a discesa. Ogni metodo disponibile nel codice concatenato è elencato.
- Nel campo Parametro funzione, selezionare il pulsante Altre azioni (…). Verrà avviata una finestra con le proprietà disponibili per il metodo selezionato. Immettere le proprietà, fare clic su Ometti per le proprietà non obbligatorie che non si desidera sottomettere quando si richiama il metodo e fare clic su Salva.
- Fare clic su Richiama.
Nella finestra della console Output viene indicato che la funzione è stata richiamata. In alternativa, nel riquadro Azioni codice, la finestra Output funzione visualizza l'output. Fare clic sul pulsante Altre azioni (…) per visualizzare l'output formattato.
Se si desidera salvare il metodo e i parametri appena eseguiti, è possibile fare clic su Salva e immettere un nome e una descrizione. Verrà salvato nel progetto del 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 potrebbero modificare i metodi, selezionare l'icona Ricarica nella parte superiore del riquadro Esecuzione codice. La modifica dovrebbe ora riflettersi 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. Seguire le istruzioni fornite qui per eseguire il test con la riga di comando: 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 spogliare o riattivare la rete locale. Tutti i progetti verranno compilati e distribuiti automaticamente ad ogni modifica.
Test delle operazioni del ciclo di vita su una rete Oracle Blockchain Platform remota
Una volta che il progetto di codice concatenato è stato distribuito correttamente nella rete remota di Oracle Blockchain Platform, è possibile eseguirne il test come descritto in Test del codice concatenato su una rete Hyperledger Fabric locale.
È possibile utilizzare gli stessi comandi di richiamo ed esecuzione di query per eseguire tutte le transazioni di metodo su una rete remota di Oracle Blockchain Platform Cloud o Enterprise Edition; tutto ciò che è supportato sulla rete locale è supportato anche sulla rete remota. Selezionare l'istanza di Oracle Blockchain Platform come ambiente di destinazione durante l'esecuzione dei test.
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 richiamare 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 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.
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 richiamare questo metodo per eseguire query avanzate SQL DB Berkeley sulla rete Oracle Blockchain Platform, assicurandosi di selezionare l'ambiente Oracle Blockchain Platform creato come ambiente di destinazione durante l'esecuzione delle query.
- Nel riquadro Dettagli codice, selezionare Esegui. Il nome del codice concatenato, l'ambiente di destinazione e il canale devono essere già precompilati dal passo di distribuzione.
- Nel campo Nome funzione selezionare
executeQuerydall'elenco a discesa. - Nel campo Parametro funzione, selezionare il pulsante Altre azioni (…). Verrà visualizzata una finestra in cui è possibile immettere la stringa di query. Immettere gli argomenti per la query e 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 con codice concatenato per generare comandi CLI per Mac OSX 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.