Probar su código de cadenas con 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 ha elegido crear el método executeQuery durante el desarrollo del código de cadenas, puede ejecutar consultas enriquecidas con 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 de Hyperledger Fabric local

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 incorporado 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 cadena, seleccione Ejecutar. El nombre del código de cadena ya debe estar seleccionado. Asegúrese de que el entorno de destino esté definido en Entorno local y que el canal sea el único canal disponible por defecto.
  2. En el campo Función, seleccione el método en 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, seleccione el botón Más acciones (...). Se abrirá una ventana con las propiedades disponibles para el método seleccionado. Introduzca las propiedades, haga clic en Omitir para cualquier propiedad no obligatoria que no desee enviar al llamar al método y 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 el botón Más acciones (...) para ver esta salida con formato.

Si desea guardar el método y los parámetros que acaba de ejecutar, puede hacer clic en Guardar e introducir un nombre y una descripción para él. Se guardará en el proyecto de código de cadenas en la carpeta Queries. Para volver a utilizarlo, haga clic con el botón derecho en él y seleccione Abrir.

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

Note:

Si no desea utilizar el asistente para pruebas, también puede ejecutar las herramientas de línea de comandos de Blockchain App Builder en la ventana Terminal de Visual Studio Code. Siga las instrucciones que se proporcionan aquí para realizar la prueba con la línea de comandos: 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 con andamios incluye un archivo .ochain.json, que almacena metadatos del código de cadenas. Puede cambiar el emisor de llamada actualizando 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á en andamio, la propiedad tokenUser se establece en el usuario admin predeterminado 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 definida cuando se creó la cuenta cuando se llamó 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 el código de cadenas, los cambios se compilarán, instalarán y desplegarán automáticamente. No es necesario eliminar ni volver a activar la red local. Todos los proyectos se compilarán y desplegarán automáticamente en cada cambio.

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

Una vez que el proyecto de código de cadenas se haya desplegado correctamente en su red remota de Oracle Blockchain Platform, puede probarlo como se describe en Prueba del código de cadenas en una red de Hyperledger Fabric local.

Puede utilizar los mismos comandos de llamada y consulta para realizar 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 cadena que funcionan con tokens mediante el creador de aplicaciones de cadena de bloques, el proxy REST de Oracle Blockchain Platform o el SDK de Hyperledger Fabric.

Creador de Aplicaciones de Blockchain

Puede utilizar la extensión de Visual Studio Code para llamar a transacciones con varios usuarios para probar los códigos de cadenas de token. 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 Postman, para probar el proyecto de código de cadenas.

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 SQL de Berkeley DB

Si ha elegido crear el método executeQuery durante el desarrollo del código de cadenas, puede ejecutar consultas enriquecidas con SQL si el código de cadenas 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á el método executeQuery correspondiente en el controlador.

Archivo de especificación:
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, lo que garantiza que selecciona 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 cadena, seleccione Ejecutar. El nombre del código de cadenas, el entorno de destino y el canal ya deben rellenarse previamente desde el paso de despliegue.
  2. En el campo Nombre de función, seleccione executeQuery de la lista desplegable.
  3. En el campo Parámetro de función, seleccione el botón Más acciones (...). Se abrirá una ventana en la que podrá introducir la cadena de consulta. Introduzca los argumentos para la consulta y haga clic en Guardar.
  4. Haga clic en Consultar.
La ventana Salida y la mostrará 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 Mac OSX y Linux y para Microsoft Windows.

  1. Amplíe el proyecto en el panel Códigos de cadenas.
  2. Haga clic con el botón derecho del mouse en Consultas.
  3. Haga clic en Generate CLI Commands (Generar comandos de la CLI).

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