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

La commande 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

La saisie de 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 est ts.

  • --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 ou json. 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.

Exemple
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

Une fois le processus terminé, vous disposez d'un projet de code chaîne entièrement fonctionnel que vous pouvez déployer localement ou vers une instance Oracle Blockchain Platform distante. Pour une présentation détaillée des fichiers créés, reportez-vous aux sections suivantes : Pour une présentation détaillée d'un projet basé sur des jetons, voir également :