Criar um Projeto Chaincode com a CLI do Blockchain App Builder

Para criar um projeto de chaincode ao usar a CLI do Blockchain App Builder, você cria um projeto de chaincode a partir de um arquivo de especificação detalhado. O projeto gerado então contém todos os arquivos que você precisa.

Segundo plano

O comando init do Blockchain App Builder inicializa e mantém um projeto de chaincode pronto para uso. Com base na entrada simples, o comando init pode gerar projetos de chaincode complexos que incluem os seguintes recursos:
  • Vários ativos (modelos) e seus comportamentos (controladores)
  • Gerar automaticamente métodos CRUD (Criar/Ler/Atualizar/Excluir) e não CRUD
  • Validação automática de argumentos
  • Marshalling/unmarshalling de argumentos
  • Capacidade de persistência transparente (ORM)
  • A capacidade de chamar consultas avançadas

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

Pré-requisitos

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

Andaime do Projeto Chaincode com o Comando init

Digitar ochain init -h listará o uso do comando com todas as suas opções. O comando init tem as seguintes opções:
  • --cc/-c:

    O nome do projeto de chaincode. O valor default é MyChaincode.

  • --lang/-l

    A linguagem do chaincode andaimes. O Blockchain App Builder suporta Typescript (ts) e Go (go). Se nenhuma opção for especificada, o padrão do idioma será 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 em andaime 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, ele assumirá como padrão o diretório atual. Consulte Arquivo de Especificação de Entrada.

  • --saída/-o

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

    A saída é um projeto Typescript ou Go chaincode 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 default é example.com.

Exemplo
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml

Defaults

Se nenhuma opção for especificada no comando ochain init, o nome do projeto com andaime 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á implantar 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: