Création d'un projet de code chaîne avec l'interface de ligne de commande Blockchain App Builder
Pour créer un projet de code chaîne lors de l'utilisation de l'interface de ligne de commande Blockchain App Builder, vous utilisez un projet de code chaîne à partir d'un fichier de spécification détaillé. Le projet généré contient alors tous les fichiers dont vous avez besoin.
Contexte
init
de Blockchain App Builder initialise et met à l'échelle un projet de code chaîne prêt à l'emploi. Sur la base d'une entrée simple, la commande init
peut générer des projets de code chaîne complexes qui incluent les fonctionnalités suivantes :
- Plusieurs ressources (modèles) et leurs comportements (contrôleurs)
- Générer automatiquement des méthodes CRUD (création/lecture/mise à jour/suppression) et non CRUD
- Validation automatique des arguments
- Marquage/désérialisation des arguments
- Capacité de persistance transparente (ORM)
- Possibilité d'appeler des requêtes riches
Le projet généré suit le modèle/contrôleur et le modèle de décorateur, ce qui permet de spécifier les propriétés d'une ressource qui sont tenues à jour dans le livre en tant que champs saisis et de les étendre avec des comportements et des règles de validation spécifiques. Ce modèle réduit le nombre de lignes de code, ce qui facilite la lisibilité et l'évolutivité.
Prérequis
Avant d'échafauder un projet, vous devez créer un fichier de spécification d'entrée. Pour plus d'informations, reportez-vous à Fichier de spécification d'entrée.
Echafaudage du projet de code chaîne avec la commande init
ochain init -h
répertorie l'utilisation de la commande avec toutes ses options. La commande init
possède les options suivantes :
- --cc/-c :
Nom du projet de code chaîne. La valeur par défaut est
MyChaincode
. - --lang/-l
Langage du code chaîne échafaudé. Blockchain App Builder prend en charge Typescript (
ts
) et Go (go
). Si aucune option n'est spécifiée, la langue par défaut estts
. - --conf/-f ou --spec
Chemin d'un fichier de spécification d'entrée. Blockchain App Builder lit le fichier de spécification d'entrée et génère le projet échafaudé avec de nombreux outils d'aide, qui aident à réduire l'effort de développement global. Tirer pleinement parti du fichier de spécification d'entrée peut réduire considérablement le temps de développement.
Le fichier de spécification peut être au format
yaml
oujson
. Si le chemin n'est pas spécifié, il s'agit par défaut du répertoire en cours. Reportez-vous à Fichier de spécification d'entrée. - --out/-o
Répertoire de sortie du projet de code chaîne échafaudé. S'il n'est pas spécifié, le projet échafaudé est généré dans le répertoire en cours.
Le résultat est un projet de code chaîne Go ou Typescript entièrement contenu, léger et évolutif.
- --root/-r
Valide et obligatoire uniquement pour Go. Répertoire racine de la variable GOHOME pour vos codes chaîne Go. La valeur par défaut est
example.com
.
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml
Par défaut
Si aucune option n'est indiquée dans la commande ochain init
, le nom du projet échafaudé est MyChaincode
et la langue est TypeScript.
Le fichier MyChaincode.model.ts
contient une seule ressource, appelée MyAsset
, avec une propriété nommée value
. Le fichier MyChaincode.controller.ts
contient un contrôleur avec les méthodes CRUD correspondantes pour le modèle MyAsset
.
Sortie
- Projet de jeton TypeScript échafaudé pour ERC-1155
- Projet de jeton Go échafaudé pour ERC-1155
- Échafaudé TypeScript Projet NFT pour ERC-721
- Projet d'échafaudage Go NFT pour ERC-721
- Projet TypeScript échafaudé pour le cadre de taxonomie par jeton
- Projet Go échafaudé pour le framework de taxonomie par jeton