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
Descrição do fluxo
- O usuário interage com uma IU da web do Angular para atualizar e consultar o livro-razão e o estado do blockchain.
- A IU chama as APIs do aplicativo Node.js em execução em um servidor de back-end.
- O servidor de aplicativos Node.js chama as APIs do SDK do Fabric.
- 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:
- Clone o repositório.
- Inicie o tempo de execução do malha hyperledger.
- Instale e instancie o contrato.
- Exporte os detalhes da conexão.
- Exporte a carteira eletrônica local.
- Desenvolva e execute o aplicativo.
- 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.