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
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
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 linguats
. - --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
ojson
. 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
.
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