Créer 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 avec Blockchain App Builder, vous analysez un projet de code chaîne à partir d'un fichier de spécification détaillé.
Contexte
init
de Blockchain App Builder initialise et analyse 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 actifs (modèles) et leurs comportements (contrôleurs)
- Méthodes CRUD (Créer/Lecture/Mise à jour/Suppression) et non-CRUD générées automatiquement
- Validation automatique des arguments
- Marquage/désérialisation des arguments
- Capacité de persistance transparente (ORM)
- Prise en charge des requêtes enrichies
Le projet généré suit le modèle/contrôleur de gestion et le modèle de décorateur, ce qui permet de spécifier les propriétés d'une immobilisation qui sont gérées 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 peut faciliter la lisibilité et l'évolutivité.
Prérequis
Avant de soutenir 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 et les options de la commande. La commande init
comporte les options suivantes :
- --cc/-c :
Nom du projet de code chaîne. La valeur par défaut est
MyChaincode
. - --lang/l
Le langage du chaincode échafaudé. Blockchain App Builder prend en charge TypeScript (
ts
) et Go (go
). Si aucune option n'est indiquée, la langue par défaut estts
. - --conf/-f ou --spec
Chemin d'accès à 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. Profiter pleinement 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 actuel.
La sortie est un projet de code chaîne TypeScript ou Go entièrement contenu, léger et évolutif.
- --racine/r
Valide et obligatoire uniquement pour Go. Répertoire racine dans la variable GOHOME pour vos codes chaîne Go. La valeur par défaut est
example.com
.
ochain init --cc MyNewTsProject --lang ts --conf spec.yml
Valeurs 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 jetons TypeScript échafaudés pour ERC-1155
- Projet de jetons Go échafaudés pour ERC-1155
- Échafaudage TypeScript Projet NFT pour ERC-721
- Projet NFT Scaffolding Go pour ERC-721
- Projet TypeScript échafaudé pour le cadre de taxonomie de jeton
- Projet Go échafaudé pour le cadre de taxonomie de jeton