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

Il comando 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

L'immissione di 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 o json. 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.

Esempio
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

Al termine del processo, si avrà un progetto di codice concatenato completamente funzionale che sarà possibile 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: