Use o controle de acesso nos contratos inteligentes de blockchain para simplificar as operações da cadeia de suprimentos – IBM Developer

Use o controle de acesso nos contratos inteligentes de blockchain para simplificar as operações da cadeia de suprimentos

Resumo

Este padrão demonstra um aplicativo de blockchain de ponta a ponta que se conecta a um malha hyperledger 1.4. Ele implementa o controle de acesso baseado em atributo, o gerenciamento de usuários, o gerenciamento de eventos e uma interface com o usuário de front-end do Angular para interagir com o livro-razão de blockchain e consultá-lo. O padrão percorre a execução de pedidos, o envio e a inscrição do produto para que o cliente possa comprá-lo. O cliente pode rastrear o histórico de pedidos na cadeia de suprimentos, contando com uma visibilidade de ponta a ponta. Além disso, um regulador tem acesso a todos os pedidos no sistema para assegurar que as práticas certas sejam seguidas.

Na cadeia de suprimentos, a confidencialidade é obrigatória porque alguns clientes podem ter direito a taxas com desconto em comparação com outros. Nesse cenário, os outros consumidores não podem ter acesso às taxas dos concorrentes. Considerando que o malha hyperledger é otimizado para uma ampla variedade de casos de uso do setor, incluindo a cadeia de suprimentos, a estrutura de software livre oferece uma forma de implementar a confidencialidade na camada do chaincode usando o controle de acesso baseado em atributo. Este exemplo mostra como implementar essa funcionalidade registrando cada usuário com um atributo específico, chamado usertype. O usertype pode ser administrador, regulador, produtor, transportadora, varejista ou cliente e ele é gerado quando um usuário específico se registra no aplicativo. Quando esse usuário efetua login com sucesso e se conecta a uma instância da rede do malha hyperledger, seu usertype fornece acesso a determinadas transações que foram enviadas na rede. Por exemplo, o regulador (como a FDA) é capaz de visualizar todas as transações na rede para auditá-la com confiança, mas o varejista pode visualizar somente as transações das quais faz parte. Depois de entender como aplicar essas regras de controle de acesso, será possível aplicá-las a qualquer caso de uso e começar a desenvolver redes de blockchain inovadoras e seguras.

Ao concluir este padrão de código, você entenderá como:

  • Implementar o controle de acesso baseado em atributo no malha hyperledger
  • Desenvolver um chaincode no qual os usuários tenham acesso a determinadas transações
  • Usar uma IU do Angular para interagir com uma rede do Hyperleder Fabric

Tecnologias

  • Blockchain: um livro-razão digital compartilhado inviolável que registra transações em uma rede ponto a ponto pública ou privada. O blockchain atua como uma única fonte real e os membros de uma rede de blockchain podem visualizar apenas as transações relevantes para eles.

  • Node.js: um ambiente de tempo de execução para executar o código JavaScript fora do navegador.

Fluxo

Fluxo usuário, aplicação Angular, servidor Node.js, SDK, Blockchain

Descrição do fluxo

  1. O usuário interage com uma IU da web do Angular para atualizar e consultar o livro-razão e o estado do blockchain.
  2. A IU chama as APIs do aplicativo Node.js em execução em um servidor de back-end.
  3. O servidor de aplicativos Node.js chama as APIs do SDK do Fabric.
  4. O SDK do Fabric interage com uma rede do malha hyperledger 1.4.1 (ou com uma rede do IBM Blockchain Platform 2.0) e envia transações a ela.

Instruções

Encontre as etapas detalhadas desde padrão no arquivo leia-me. As etapas mostram como:

  1. Clone o repositório.
  2. Inicie o tempo de execução do malha hyperledger.
  3. Instale e instancie o contrato.
  4. Exporte os detalhes da conexão.
  5. Exporte a carteira eletrônica local.
  6. Desenvolva e execute o aplicativo.
  7. Envie as transações no aplicativo.

Aviso

O conteúdo aqui presente foi traduzido da página IBM Developer US. Caso haja qualquer divergência de texto e/ou versões, consulte o conteúdo original.