Introducción

En este tutorial de 15 minutos se muestra cómo instalar el código de cadena de ejemplo del concesionario de vehículos empaquetado con Oracle Blockchain Platform, desplegarlo en un canal, confirmar que se está ejecutando, llamar a transacciones básicas para agregar bloques al libro mayor y confirmar que los nuevos bloques se han agregado correctamente.

Antecedentes

Una plataforma blockchain implementa un libro mayor de datos descentralizados a prueba de alteraciones que se comparten de forma segura en una red de negocio de confianza. Una cadena de bloques es una lista de registros en continuo crecimiento, denominada bloques, que se enlazan y protegen mediante criptografía.

Los códigos principales definen el esquema de datos en el libro mayor, lo inicializan, realizan actualizaciones cuando lo disparan las aplicaciones y responden a las consultas. Los códigos de cadenas también pueden publicar eventos que permiten notificar a las aplicaciones y realizar operaciones descendentes.

Los canales particionan y aíslan los peers y los datos del libro mayor para proporcionar transacciones privadas y confidenciales en la red de cadena de bloques. Los miembros definen y estructuran canales para permitir que pares específicos realicen transacciones privadas y confidenciales que otros miembros de la misma red de cadenas de bloques no pueden ver ni acceder. Cada canal incluye peers, el libro mayor compartido, códigos de cadena instanciados en el canal y uno o más nodos de servicio de orden.

Los nodos peer contienen una copia del libro mayor y escriben transacciones en el libro mayor. Estos nodos también pueden aprobar transacciones.

Los nodos de proxy REST asignan una identidad de aplicación a un miembro de cadena de bloques, lo que permite a los usuarios y aplicaciones llamar a las API de REST de Oracle Blockchain Platform.

La muestra del concesionario de vehículos incluye un código de cadenas para gestionar la producción, transferencia y consulta de piezas de vehículos; los vehículos montados a partir de estas piezas; y la transferencia de los vehículos. Para ejecutar el ejemplo, debe realizar los siguientes pasos:

  • Instale el código de cadenas en uno o varios peers.
  • Despliegue el código de cadenas en un canal.
  • Llame al código de cadenas mediante una llamada de API de REST o una aplicación.

Puede descargar la muestra para explorarla más a fondo o para utilizarla como base para sus propios códigos de cadena o aplicaciones.

Requisitos

  • Una instancia fundadora de Oracle Blockchain Platform.
  • Acceso de administrador a la instancia.
  • URL de la consola de Oracle Blockchain Platform.
  • El canal (default) incluido con la instancia.
  • Los peers (peer0 y peer1) incluidos en la instancia y unidos al canal default.
  • Nodo de proxy REST por defecto (restproxy) incluido en la instancia.

Tarea 1: Instalación de la muestra

La instalación es el acto de colocar el código de cadena en un par.

  1. Conéctese a la consola de servicio de Oracle Blockchain Platform mediante un ID de usuario administrativo.
  2. Haga clic en el separador Herramientas de desarrollador.
  3. Haga clic en el panel Ejemplos.
  4. En el panel Ejemplos, busque el ejemplo del concesionario de vehículos y, a continuación, haga clic en Instalar.
  5. En el cuadro de diálogo Install CarDealer Chaincode, seleccione peer0 en la lista desplegable Peers y haga clic en Install (Instalar). Deje la lista desplegable Idioma definida en Golang.
  6. Haga clic en el separador Chaincodes. Se muestra la página Resumen de códigos de cadenas, que muestra que el código de cadena obcs-cardealer se empaquetó y se le asignó un ID de paquete. Haga clic en 1 en la columna Instalado en iguales. Aparece la página Installed on Peers Summary (Instalado en resumen de iguales), que muestra que el código de cadena está instalado en peer0.

Tarea 2: Desplegar el ejemplo

El despliegue de un código de cadenas aprueba y confirma una definición de código de cadenas en el canal seleccionado y en los peers donde se instaló previamente el código de cadenas. La transacción de despliegue llama al código de cadena de ciclo de vida (_lifecycle) para desplegar un código de cadena en un canal.

  1. En el panel Ejemplos del separador Herramientas de desarrollador, busque el ejemplo del concesionario de vehículos y haga clic en Desplegar. En el cuadro de diálogo Desplegar código de cadena, seleccione lo siguiente y haga clic en Desplegar.
    • Canal: default
    Deje la lista desplegable Idioma definida en Golang.
  2. Después de desplegar el código de cadenas, vaya al separador Códigos de cadenas. Para el ID de paquete que comienza por obcs-cardealer, haga clic en 1 en la columna Desplegado en canales. Aparece la página Deployed on Channels Summary, que muestra que el código de cadena se despliega en el canal default que ha seleccionado.
  3. En el separador Canales, haga clic en el canal default en el que está ejecutando el código de cadena de ejemplo. Haga clic en el panel Códigos de cadenas desplegados para confirmar que hay un despliegue de código de cadena en el canal, el código de cadena obcs-cardealer.
    Descripción de deployment-channel.png a continuación
    Descripción de la ilustración deployment-channel.png

Tarea 3: Llamar a la muestra

La llamada es el proceso de llamar a funciones de código de cadena. Utilizará las aplicaciones incluidas en los ejemplos, aunque puede utilizar llamadas de API de REST directas si lo desea.

  1. En el separador Herramientas para desarrolladores, abra el panel Muestras, busque el ejemplo del concesionario de vehículos y haga clic en Llamar.
  2. En la ventana Llamar código de cadena, cree un neumático con la siguiente información y, a continuación, haga clic en Ejecutar:
    • Idioma: Golang
    • Canal: default
    • Acción: Produce vehicle part
    • Número de Serie: tr357
    • Propietario: bobsmith
    • Nombre: tire357
    • Assembler: sevencorp
    • Fecha de ensamblaje: Thursday, December 9, 2021
    A continuación se muestra la descripción de invoke-create-part.png
    Descripción de la ilustración invoke-create-part.png
  3. En el separador Canales, busque y haga clic en el canal default.
  4. En el panel Libro mayor, busque el número de bloque que indica que se ha producido una llamada de datos.
  5. Seleccione el bloque y confirme que en la tabla Transacciones puede ver Success en la columna Estado.
  6. Haga clic en el icono de flecha junto al ID de transacción para mostrar más información sobre la transacción.

    Nota:

    Como está invocando el código de cadena del concesionario de vehículos, el código de cadena obcs-cardealer aparece en la transacción. El nombre de la función es initVehiclePart porque ha creado una nueva parte y la transacción está avalada por peer0 porque ese es el único par que ha elegido para aprobar transacciones en este canal.
  7. A continuación se muestra la descripción de invoke-create-ledger.png
    Descripción de la ilustración invoke-create-ledger.png
  8. En el separador Herramientas para desarrolladores, abra el panel Ejemplos, busque el ejemplo del concesionario de vehículos y haga clic en Llamar.
  9. En la ventana Llamar código de cadena, introduzca los siguientes valores para consultar el neumático que acaba de crear y, a continuación, haga clic en Ejecutar:
    • Idioma: Golang
    • Canal: default
    • Acción: Query vehicle part
    • Número de Serie: tr357
  10. En el separador Canales, busque y haga clic en el canal default.
  11. En el panel Libro mayor, busque el número de bloque de la transacción más reciente.
  12. Haga clic en el bloque y confirme que en la tabla Transactions verá Success en la columna Status.Haga clic en el icono de flecha junto al ID de transacción para mostrar más información sobre la transacción.

    Nota:

    Se debe mostrar el código de cadena, el nombre de función (readVehiclePart) y el par de endoso (peer0) correctos.
  13. A continuación se muestra la descripción de invoke-query.png
    Descripción de la ilustración invoke-query.png
  14. En el separador Herramientas para desarrolladores, abra el panel Ejemplos, busque el ejemplo del concesionario de vehículos y haga clic en Llamar.
  15. En la ventana Llamar código de cadena, introduzca los siguientes valores para transferir la propiedad del neumático a un nuevo usuario y, a continuación, haga clic en Ejecutar:
    • Idioma: Golang
    • Canal: default
    • Acción: Transfer vehicle part
    • Número de Serie: tr357
    • Propietario: anniechu
  16. En el separador Canales, busque y haga clic en el canal default.
  17. En el panel Libro mayor, busque el número de bloque de la transacción más reciente.
  18. Haga clic en el bloque, haga clic en el icono de flecha junto al ID de transacción para mostrar más información sobre la transacción y confirmar que en la tabla Transacciones aparece Success en la columna Estado.

    Nota:

    Se debe mostrar el código de cadena, el nombre de función (transferVehiclePart) y el par de endoso (peer0) correctos.
  19. A continuación se muestra la descripción de invoke-transfer.png
    Descripción de la ilustración invoke-transfer.png

Puede suprimir un código de cadena si ya no lo necesita. Para obtener más información, consulte Supresión de un código de cadena

Más recursos de aprendizaje

Explore otras prácticas en docs.oracle.com/learn o acceda a contenido de aprendizaje más gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de formación de Oracle.

Para obtener documentación sobre los productos, visite Oracle Help Center.