Criar um Projeto Chaincode com a CLI do Blockchain App Builder

Para criar um projeto chaincode com o Blockchain App Builder, você desenvolve um projeto chaincode a partir de um arquivo de especificação detalhado.

Segundo plano

O comando init do Blockchain App Builder inicializa e efetua scaffolds em um projeto chaincode pronto para uso. Com base em uma entrada simples, o comando init pode gerar projetos de chaincode complexos que incluem os seguintes recursos:
  • Vários ativos (modelos) e seus comportamentos (controladores)
  • Métodos CRUD (Criar/Ler/Atualizar/Excluir) gerados automaticamente e não CRUD
  • Validação automática de argumentos
  • Desestruturação/desestruturação de argumentos
  • Capacidade de persistência transparente (ORM)
  • Suporte a consultas avançadas

O projeto gerado segue o padrão de modelo/controlador e decorador, que permite que as propriedades de um ativo mantidas no razão sejam especificadas como campos digitados e estendidas com comportamentos e regras de validação específicos. Esse padrão reduz o número de linhas de código, o que pode ajudar na legibilidade e na escalabilidade.

Pré-requisitos

Antes de realizar um projeto, você deve criar um arquivo de especificação de entrada. Para obter mais informações, consulte Arquivo de Especificação de Entrada.

Andaimes no Projeto Chaincode com o Comando init

A inserção de ochain init -h lista o uso e as opções do comando. O comando init tem as seguintes opções:
  • --cc/-c:

    O nome do projeto chaincode. O valor-padrão é MyChaincode.

  • --lang/-l

    O idioma do chaincode scaffolded. O Blockchain App Builder suporta TypeScript (ts) e Go (go). Se nenhuma opção for especificada, o idioma assumirá como padrão ts.

  • --conf/-f ou --spec

    O caminho para um arquivo de especificação de entrada. O Blockchain App Builder lê o arquivo de especificação de entrada e gera o projeto scaffolded com muitas ferramentas auxiliares, que ajudam a reduzir o esforço geral de desenvolvimento. Aproveitar ao máximo o arquivo de especificação de entrada pode reduzir significativamente o tempo de desenvolvimento.

    O arquivo de especificação pode estar no formato yaml ou json. Se o caminho não for especificado, o padrão será o diretório atual. Consulte Arquivo de Especificação de Entrada.

  • --out/-o

    O diretório de saída do projeto chaincode scaffolded. Se não for especificado, o projeto scaffolded será gerado no diretório atual.

    A saída é um projeto de chaincode TypeScript ou Go totalmente contido, leve e escalável.

  • --raiz/-r

    Válido e obrigatório somente para Go. O diretório raiz na variável GOHOME para seus chaincodes Go. O valor-padrão é example.com.

Exemplo
ochain init --cc MyNewTsProject --lang ts --conf spec.yml

Defaults

Se nenhuma opção for especificada no comando ochain init, o nome do projeto scaffolded será MyChaincode e o idioma será TypeScript.

O arquivo MyChaincode.model.ts contém apenas um ativo, chamado MyAsset, com uma propriedade chamada value. O arquivo MyChaincode.controller.ts contém um controlador com os métodos CRUD correspondentes para o modelo MyAsset.

Saída

Quando o processo estiver concluído, você terá um projeto de chaincode totalmente funcional que poderá ser implantado localmente ou em uma instância remota do Oracle Blockchain Platform. Para obter uma visão geral detalhada dos arquivos criados, consulte: Para obter uma visão geral detalhada de um projeto baseado em token, consulte também: