Crea un progetto Chaincode con l'interfaccia CLI di Blockchain App Builder

Per creare un progetto di codice concatenato quando si utilizza l'interfaccia CLI di Blockchain App Builder, è necessario impiantare un progetto di codice concatenato da un file di specifica dettagliato. Il progetto generato contiene quindi tutti i file necessari.

Presupposto

Il comando init di Blockchain App Builder inizializza e struttura un progetto di codice concatenato pronto all'uso. In base a un input semplice, il comando init può generare progetti di codici concatenati complessi che includono le seguenti funzioni:
  • Più asset (modelli) e loro comportamenti (controllori)
  • Genera automaticamente metodi CRUD (Crea/Leggi/Aggiorna/Elimina) e non CRUD
  • Convalida automatica degli argomenti
  • Marshalling/unmarshalling di argomenti
  • Capacità di persistenza trasparente (ORM)
  • Possibilità di chiamare rich query

Il progetto generato segue il modello/controller e il pattern decorator, che consente di specificare come campi tipizzati le proprietà di un cespite gestite nel libro contabile ed estese con comportamenti e regole di convalida specifici. Questo pattern riduce il numero di righe di codice, facilitando la leggibilità e la scalabilità.

Prerequisiti

Prima di impiantare un progetto, è necessario creare un file di specifica di input. Per ulteriori informazioni, vedere File di specifica di input.

Impalcatura del progetto Chaincode con il comando init

Digitando ochain init -h verrà elencato l'uso del comando con tutte le relative opzioni. Il comando init include le opzioni riportate di seguito.
  • --cc/-c:

    Nome del progetto codice concatenato. Il valore predefinito è MyChaincode.

  • --lang/-l

    Lingua del codice concatenato impalcato. Blockchain App Builder supporta Typescript (ts) e Go (go). Se non viene specificata alcuna opzione, per impostazione predefinita viene utilizzata la lingua ts.

  • --conf/-f o --spec

    Il percorso di un file di specifica di input. Blockchain App Builder legge il file di specifica di input e genera il progetto impalcato con molti strumenti di supporto, che aiutano a ridurre lo sforzo di sviluppo complessivo. Sfruttare appieno il file delle specifiche di input può ridurre significativamente i tempi di sviluppo.

    Il file di specifica può essere in formato yaml o json. Se il percorso non viene specificato, per impostazione predefinita viene utilizzata la directory corrente. Vedere File di specifica di input.

  • --out/-o

    La directory di output del progetto chaincode impalcato. Se non specificato, il progetto impalcato viene generato nella directory corrente.

    L'output è un progetto Typescript o Go chaincode completamente contenuto, leggero e scalabile.

  • --root/-r

    Valido e obbligatorio solo per Go. La directory radice nella variabile GOHOME per i codici concatenati Go. Il valore predefinito è example.com.

Esempio
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml

Impostazioni predefinite

Se nel comando ochain init non vengono specificate opzioni, il nome del progetto scaffolded è MyChaincode e la lingua è TypeScript.

Il file MyChaincode.model.ts contiene un solo asset, denominato MyAsset, con una proprietà denominata value. Il file MyChaincode.controller.ts contiene un controller con i metodi CRUD corrispondenti per il modello MyAsset.

Output

Al termine del processo, avrai a disposizione un progetto di codice concatenato completamente funzionale che puoi distribuire localmente o in un'istanza remota di Oracle Blockchain Platform. Per una panoramica dettagliata dei file creati, vedere: Per una panoramica dettagliata di un progetto basato su token, vedere anche: