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:
Il 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
yamlojson. 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.
- --radice/-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.ymlImpostazioni 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