Prueba del código de cadenas mediante Visual Studio Code

Si el código de cadenas se está ejecutando en una red, puede probar cualquiera de los métodos generados. Además, si decide crear el método executeQuery durante el desarrollo del código de cadenas, puede ejecutar consultas enriquecidas de SQL si el código de cadenas se despliega en una red de Oracle Blockchain Platform.

Prueba del código de cadenas en una red local de Hyperledger Fabric

Una vez que el proyecto de código de cadenas se esté ejecutando en una red local, puede probarlo.

Blockchain App Builder contiene un asistente integrado para ayudarle a invocar o consultar su código de cadenas.

  1. Seleccione el proyecto de código de cadenas en el panel Códigos de cadenas. En el panel Detalles de código de canal, seleccione Ejecutar. El nombre del código de cadena ya está seleccionado. Asegúrese de que el entorno de destino está definido en Entorno local, de modo que el canal se establezca de forma predeterminada en el único canal disponible.
  2. En el campo Función, seleccione un método de la lista desplegable. Se muestran todos los métodos disponibles en el código de cadenas.
  3. En el campo Parámetro de función, haga clic en el botón Más acciones. De esta forma, se abre una ventana que muestra las propiedades disponibles para el método seleccionado. Introduzca las propiedades y haga clic en Omitir para cualquier propiedad no obligatoria que no desee enviar al llamar al método. Haga clic en Guardar.
  4. Haga clic en Invocar.

La ventana de la consola Salida mostrará que se ha llamado a la función. Como alternativa, en el panel Acciones de código de cadena, la ventana Salida de función muestra la salida. Haga clic en Más acciones para ver esta salida con formato.

Para guardar el método y los parámetros que acaba de ejecutar, haga clic en Guardar e introduzca un nombre y una descripción. La función se guarda en el proyecto de código de cadena en la carpeta Queries. Para volver a utilizarlo, haga clic con el botón derecho y seleccione Abrir.

Si realiza cambios en el archivo de controlador que modifican los métodos, seleccione el ícono Reload (Recargar) en la parte superior del panel Chaincode Execute (Ejecución de código de cadena). El cambio se reflejará en la lista desplegable Función.

Note:

Si no desea utilizar el asistente para realizar pruebas, también puede ejecutar las herramientas de línea de comandos de Blockchain App Builder en la ventana Terminal de Visual Studio Code. Para obtener más información sobre las pruebas desde la línea de comandos, consulte Test Your Chaincode on a Local Hyperledger Fabric Network.

Prueba de Varios Usuarios de Token Localmente

Para probar un proyecto de token con varios usuarios localmente, puede utilizar la propiedad tokenUser para cambiar el emisor de llamada de cada transacción. Cada proyecto de código de cadenas de andamios incluye un archivo .ochain.json, que almacena metadatos del código de cadenas. Para cambiar el emisor de llamada, actualice el valor del campo tokenUser en el archivo .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"
}

Cuando un proyecto está andamiado, la propiedad tokenUser se define en el usuario admin por defecto de la red local. Para cambiar el emisor de llamada de una transacción, cambie la propiedad tokenUser para que coincida con la propiedad user_id que se definió cuando se creó la cuenta al llamar al método createAccount (TypeScript) o CreateAccount (Go).

Instalación y despliegue automáticos después de la actualización

Cada vez que actualice y guarde su código de cadenas, los cambios se compilarán, instalarán y desplegarán automáticamente. No hay necesidad de derribar o volver a abrir la red local. Todos los proyectos se compilarán y desplegarán automáticamente para cada cambio.

Prueba de operaciones de ciclo de vida en una red remota de Oracle Blockchain Platform

Después de que su proyecto de código de cadenas se haya desplegado correctamente en su red remota de Oracle Blockchain Platform, puede probarlo.

Puede probar el código de cadena que se ejecuta en una red remota de Oracle Blockchain Platform de forma similar a probarlo en una red local, como se describe en Test Your Chaincode on a Local Hyperledger Fabric Network.

Puede utilizar los mismos comandos para completar todas las transacciones de método en una red remota de Oracle Blockchain Platform Cloud o Enterprise Edition; todo lo soportado en la red local también está soportado en la red remota. Seleccione la instancia de Oracle Blockchain Platform como entorno de destino al ejecutar las pruebas.

Prueba de proyectos de token en una red remota de Oracle Blockchain Platform

Puede probar proyectos de código de cadenas que funcionan con tokens mediante Blockchain App Builder, el proxy de REST de Oracle Blockchain Platform o el SDK de Hyperledger Fabric.

Creador de aplicaciones de blockchain

Puede utilizar la extensión Visual Studio Code para llamar a transacciones con varios usuarios para probar códigos de cadenas de tokens. Para probar con varios usuarios, cambie los parámetros de autorización (nombre de usuario y contraseña) en el separador Entornos y, a continuación, guarde el entorno. Al llamar a transacciones, seleccione el mismo entorno de la lista desplegable y, a continuación, ejecute la transacción.

Proxy REST de Oracle Blockchain Platform

Puede utilizar el proxy REST en Oracle Blockchain Platform para ejecutar un código de cadena de token en una red remota de Oracle Blockchain Platform. Utilice cualquier cliente de proxy REST, como el cliente REST de Postman, para probar el proyecto de código de cadena.

Para probar varios usuarios, cambie los parámetros de autorización (nombre de usuario y contraseña) en el cliente REST o conéctese a una instancia diferente de Oracle Blockchain Platform.

Ejecutar consultas enriquecidas de SQL de Berkeley DB

Si decide crear el método executeQuery durante el desarrollo del código de cadenas, puede ejecutar consultas enriquecidas de SQL si el código de cadena se despliega en una red de Oracle Blockchain Platform.

Si ha utilizado executeQuery en la sección customMethods del archivo de especificación, se creará un método executeQuery correspondiente en el controlador.

Archivo de especificaciones:
customMethods:
    - executeQuery
    - "fetchRawMaterial(supplierid: string, rawMaterialSupply: number)"
    - "getRawMaterialFromSupplier(manufacturerId: string, supplierld: string, rawMaterialSupply: number)"
    - "createProducts(manufacturerId: string, rawMaterialConsumed: number, productsCreated: number)"
    - "sendProductsToDistribution()"
Archivo controlador:
**
*
* 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;
}

Puede llamar a este método para ejecutar consultas enriquecidas de SQL de base de datos de Berkeley en la red de Oracle Blockchain Platform. Debe seleccionar el entorno de Oracle Blockchain Platform que ha creado como entorno de destino al ejecutar las consultas.

Por ejemplo:
  1. En el panel Detalles de código de canal, seleccione Ejecutar. El nombre del código de cadena, el entorno de destino y el canal ya se han especificado en el paso de despliegue.
  2. En el campo Nombre de función, seleccione executeQuery en la lista desplegable.
  3. En el campo Parámetro de función, haga clic en Más acciones. Esto abre una ventana en la que puede introducir la cadena de consulta. Introduzca los argumentos para la consulta y, a continuación, haga clic en Guardar.
  4. Haga clic en Consulta.
Se abre la ventana Salida, que muestra la consulta que se está ejecutando y el resultado.
ochain query executeQuery "SELECT key, valueJson FROM <STATE> WHERE
json_extract(valueJson, '$.rawMaterialAvailable') = 4" 

La consulta SQL completa se toma en el argumento, por lo que puede realizar cambios en la consulta sobre la marcha.

Generación de comandos de la CLI a partir de consultas

Si ha guardado consultas en un proyecto de código de cadenas en Visual Studio Code, puede generar automáticamente los comandos equivalentes de la CLI.

Debe tener al menos una consulta guardada en un proyecto de código de cadenas para generar comandos de la CLI para macOS, Linux y Microsoft Windows.

  1. Expanda el proyecto en el panel Códigos de cadenas.
  2. Haga clic con el botón derecho en Consultas.
  3. Haga clic en Generate CLI Commands (Generar comandos de CLI).

Se generan dos archivos de texto y se muestran en la sección Consultas del panel Códigos de cadenas: CLIcommandsForLinux.txt y CLIcommandsForWindows.txt. Seleccione el nombre de archivo para abrir el archivo y muestre los comandos de la CLI correspondientes.