Creación de un proyecto de código de cadenas con la CLI de Blockchain App Builder

Para crear un proyecto de código de cadenas con Blockchain App Builder, debe andamiar un proyecto de código de cadenas a partir de un archivo de especificación detallado.

Antecedentes

El comando init de Blockchain App Builder inicializa y andamiaja un proyecto de código de cadenas listo para usar. En función de una entrada simple, el comando init puede generar proyectos de código de cadenas complejos que incluyen las siguientes funciones:
  • Varios activos (modelos) y sus comportamientos (controladores)
  • Métodos CRUD generados automáticamente (Crear/Leer/Actualizar/Suprimir) y no CRUD
  • Validación automática de argumentos
  • Distribución/desregulación de argumentos
  • Capacidad de persistencia transparente (ORM)
  • Soporte de consultas enriquecido

El proyecto generado sigue el patrón de modelo/controlador y decorador, que permite especificar las propiedades de un activo que se mantienen en el libro mayor como campos con tipo y ampliarlas con comportamientos específicos y reglas de validación. Este patrón reduce el número de líneas de código, lo que puede ayudar con la legibilidad y la escalabilidad.

Requisitos

Antes de andamiar un proyecto, debe crear un archivo de especificación de entrada. Para obtener más información, consulte Archivo de especificación de entrada.

Andamios del proyecto Chaincode con el comando init

Al introducir ochain init -h, se muestran las opciones y el uso del comando. El comando init tiene las siguientes opciones:
  • --cc/-c:

    Nombre del proyecto de código de cadenas. El valor por defecto es MyChaincode.

  • --lang/-l

    El lenguaje del código de cadenas del andamio. Blockchain App Builder admite TypeScript (ts) y Go (go). Si no se especifica ninguna opción, el idioma por defecto es ts.

  • --conf/-f o --spec

    Ruta de acceso a un archivo de especificación de entrada. Blockchain App Builder lee el archivo de especificación de entrada y genera el proyecto andamiaje con muchas herramientas auxiliares, que ayudan a reducir el esfuerzo de desarrollo general. Aprovechar al máximo el archivo de especificación de entrada puede reducir significativamente el tiempo de desarrollo.

    El archivo de especificación puede tener el formato yaml o json. Si no se especifica la ruta, se define por defecto en el directorio actual. Consulte Archivo de especificación de entrada.

  • --out/o

    Directorio de salida del proyecto de código de cadena de andamios. Si no se especifica, el proyecto de andamios se genera en el directorio actual.

    La salida es un proyecto de código de cadena TypeScript o Go totalmente contenido, ligero y escalable.

  • --root/r

    Válido y obligatorio solo para Go. El directorio raíz de la variable GOHOME para los códigos de cadenas de Go. El valor por defecto es example.com.

Ejemplo
ochain init --cc MyNewTsProject --lang ts --conf spec.yml

Valores por Defecto

Si no se especifica ninguna opción en el comando ochain init, el nombre del proyecto de andamios es MyChaincode y el idioma es TypeScript.

El archivo MyChaincode.model.ts contiene solo un activo, denominado MyAsset, con una propiedad denominada value. El archivo MyChaincode.controller.ts contiene un controlador con los métodos CRUD correspondientes para el modelo MyAsset.

Salida

Cuando finalice el proceso, tendrá un proyecto de código de cadenas totalmente funcional que podrá desplegar de forma local o en una instancia remota de Oracle Blockchain Platform. Para obtener una descripción general detallada de los archivos que se crean, consulte: Para obtener una visión general detallada de un proyecto basado en token, consulte también: