Archivo de Especificación de Entrada
El comando de inicialización Blockchain App Builder lee el archivo de especificación de entrada y genera el proyecto andamiaje con varias herramientas para ayudar en el proceso de desarrollo de código de cadena.
Con el archivo de especificación puede especificar varias definiciones y comportamientos de activos, declaración de método CRUD y no CRUD, métodos personalizados, validación de argumentos, canalización/anulación de canalización automática, capacidad de persistencia transparente y llamada a consultas de datos enriquecidos mediante SQL SELECT o CouchDB Query Language. Estas funciones se generarán para usted.
yaml
o json
. Puede ver archivos de especificación de ejemplo en ambos formatos en la descarga del paquete Blockchain App Builder:
Fabcar-Typescript.yml
Marbles-Go.yml
Note:
Según las convenciones Go, los nombres exportados comienzan con una letra mayúscula. Por lo tanto, todas las propiedades y métodos de activos deben tener nombres que comiencen con letras mayúsculas en el archivo de especificación.Estructura del Archivo de Especificación
Normalmente, estructura un archivo de especificación de la siguiente forma:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
Blockchain App Builder soporta dos tipos de activos especiales, activos embebidos y activos de token, además de activos genéricos sin tipo especificado. Los activos especiales se definen como type: embedded
o type: token
en la sección assets:
del archivo de especificación.
Tabla 7-2 Descripciones y ejemplos de parámetros de archivo de especificación
Entrada | Descripción | Ejemplos |
---|---|---|
assets: |
Esta propiedad toma la definición y el comportamiento del activo. Puede proporcionar varias definiciones de activos aquí. |
|
name: |
El nombre del activo. Los siguientes nombres están reservados. No utilice estos nombres para los activos.
|
|
type: |
Tipos de activos Están soportados los siguientes tipos de activos especiales:
Si no especifica un parámetro |
|
type: tipo: embebido |
Si esta propiedad se define en En el ejemplo, la propiedad Los activos embebidos no soportan referencias circulares. Por ejemplo, en el ejemplo anterior, el activo |
Activo:
employee
Activo:
address
|
properties: |
Describir todas las propiedades de un activo. |
|
name: |
Nombre de la propiedad. |
|
id: |
Especifica el identificador de este activo. Esta propiedad es obligatoria. |
|
type: |
Tipos de Propiedad Se admiten los siguientes tipos de propiedades básicas:
Para los códigos de cadenas Go,
number se asigna a int y float a float64 . Otros tipos no son compatibles actualmente, incluidos los siguientes:
|
|
derived: |
Esta propiedad especifica que la propiedad id se deriva de otras claves. Las propiedades dependientes deben ser del tipo de dato Esta propiedad tiene dos parámetros obligatorios:
Ejemplo 1:
Ejemplo 2:
|
Ejemplo 1
Ejemplo 2
|
mandatory: |
La propiedad correspondiente es obligatoria y no se puede omitir al crear un activo. |
|
default: |
Esto proporciona el valor por defecto de esta propiedad. |
|
validate: |
La propiedad dada se valida con algunas de las validaciones listas para usar proporcionadas por Blockchain App Builder. Puede encadenar validaciones si se asegura de que la cadena sea válida. Si no se proporciona la propiedad |
|
validate: tipo: número |
Estas validaciones se pueden encadenar separadas por comas. |
|
validate: tipo: cadena |
Para los códigos de cadenas Go, las expresiones regulares que contienen determinados caracteres reservados o caracteres de espacios en blanco se deben identificar correctamente. |
|
validate: tipo: boolean |
En el ejemplo, la validación de la propiedad |
|
validate: tipo: matriz |
Por tipo en sí, con el formato Puede introducir límites en la matriz con el formato |
|
validate: tipo: fecha |
La fecha debe tener uno de estos formatos:
|
|
methods: |
Utilice esta opción para indicar cuál de los métodos CRUD (Crear/Leer/Actualizar/Suprimir) o adicionales se va a generar. Por defecto, si no se introduce nada, se generan todos los métodos CRUD y otros. |
|
crud: |
Si esta matriz se deja vacía, no se creará ningún método CRUD. Si el parámetro El parámetro |
|
others: |
Si esta matriz se deja vacía, no se crearán otros métodos. Si el parámetro El parámetro |
|
customMethods: |
Esta propiedad crea plantillas de método personalizado invocables en el archivo de controlador principal. Toma la firma del método y crea la declaración de función en el archivo de controlador. Puede proporcionar declaraciones de funciones específicas del idioma aquí. Proporcionamos un método personalizado denominado |
TypeScript
Go
|