Crea un progetto Chaincode con l'interfaccia CLI di Blockchain App Builder
Per creare un progetto di codice concatenato con Blockchain App Builder, è necessario eseguire lo scaffold di un progetto di codice concatenato da un file di specifica dettagliato.
Presupposto
init
di Blockchain App Builder inizializza e crea uno scaffold di un progetto di codice concatenato pronto all'uso. In base al semplice input, il comando init
può generare progetti di codice concatenato complessi che includono le seguenti funzioni:
- Attività multiple (modelli) e loro comportamenti (controllori)
- CRUD generato automaticamente (creazione/lettura/aggiornamento/eliminazione) e metodi non CRUD
- Convalida automatica degli argomenti
- Maresciallo/smontaggio delle argomentazioni
- Capacità di persistenza trasparente (ORM)
- Supporto rich query
Il progetto generato segue il modello/controller e il pattern decoratore, che consente di specificare le proprietà di un asset che vengono gestite nel libro contabile come campi digitati ed estese con comportamenti specifici e regole di convalida. Questo pattern riduce il numero di righe di codice, il che può aiutare con leggibilità e scalabilità.
Prerequisiti
Prima di eseguire lo scaffold di 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
elenca l'uso e le opzioni del comando. Il comando init
dispone delle seguenti opzioni:
- --cc/-c:
Nome del progetto codice concatenato. Il valore predefinito è
MyChaincode
. - --lang/-l
Il linguaggio del codice concatenato impalcato. Blockchain App Builder supporta TypeScript (
ts
) e Go (go
). Se non viene specificata alcuna opzione, per impostazione predefinita la lingua èts
. - --conf/-f o --spec
Il percorso di un file di specifica di input. Blockchain App Builder legge il file delle specifiche di input e genera il progetto impalcato con molti strumenti di supporto, che aiutano a ridurre lo sforzo complessivo di sviluppo. 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
Directory di output del progetto codice concatenato impalcato. Se non specificato, il progetto impalcato viene generato nella directory corrente.
L'output è un progetto con codice concatenato TypeScript o Go 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
.
ochain init --cc MyNewTsProject --lang ts --conf spec.yml
Impostazioni predefinite
Se nel comando ochain init
non sono 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