Sobre o Streaming de Eventos do Blockchain
Um código de cadeia no blockchain pode publicar eventos de duas maneiras. Um é usando o Hyperledger Fabric SDK e o outro é usando a API REST do Blockchain Platform. No entanto, essas duas abordagens têm as seguintes limitações:
- Os SDKs do Hyperledger Fabric só estão no Java ou no Node.js.
- Você deve aplicar patches aos SDKs do Hyperledger Fabric antes de usá-los com o Oracle Blockchain Platform.
- As notificações de evento não têm garantia de entrega.
- Os consumidores da API REST devem ter credenciais na instância do fundador do blockchain.
Para evitar essas limitações, use a API REST do Oracle Blockchain Platform com um aplicativo de retransmissão. O aplicativo de retransmissão pode ser uma função sem servidor. Ele recebe um payload de evento no formato JSON do blockchain e reformata o payload do evento para ser compatível com a API Apache Kafka. O aplicativo de retransmissão obtém as credenciais de autenticação do Oracle Vault e envia o evento para o Oracle Streaming Services. Vários consumidores de evento podem então se inscrever no Oracle Streaming Services e iniciar os eventos de recebimento que eles estão autorizados a receber.
Arquitetura
Este diagrama mostra como você pode configurar notificações confiáveis e seguras de eventos blockchain para vários consumidores de eventos usando as ferramentas e os serviços do Oracle Cloud Infrastructure.
É assim que o evento flui da plataforma blockchain para os consumidores de eventos:
- O chaincode no blockchain chama o API Gateway com o evento como payload. Você inscreve manualmente o URL do Gateway de API em eventos de blockchain.
- O Gateway de API passa a solicitação para o Aplicativo de Relay de Evento. O aplicativo de retransmissão de evento é um aplicativo que você grava. Executa as seguintes funções:
- Reforma o evento da API do Serviço de Streaming.
- Recupera credenciais do Serviço de Streaming do Vault.
- Envia o evento para a API do Serviço Streaming.
- O Serviço de Streaming garante que o evento seja entregue aos aplicativos de consumidor autorizados.

Descrição da ilustração architecture-blockchain-event-streaming.png
Antes de Começar
Sobre Serviços e Funções Obrigatórios
Para implementar essa Solução, você precisa de uma conta do Oracle Cloud Infrastructure.
Sua conta de usuário deve ter permissões suficientes para criar e implantar os seguintes serviços:
-
Oracle Blockchain Platform
-
Oracle Functions
-
Oracle Cloud Infrastructure Vault
-
Streaming do Oracle Cloud Infrastructure
-
Oracle Cloud Infrastructure Registry
-
Oracle Cloud Infrastructure Gateway
Consulte Políticas Comuns para obter informações sobre as políticas necessárias para acesso.
Consulte Aprenda a obter os serviços do Oracle Cloud para Soluções da Oracle para obter os serviços de nuvem necessários.