Sobre o Streaming de Eventos do Blockchain

Você pode publicar notificações de evento do Oracle Blockchain Platform em vários assinantes autenticados de forma segura e confiável com a ajuda de ferramentas e serviços no Oracle Cloud Infrastructure.

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:

  1. 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.
  2. 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.
  3. O Serviço de Streaming garante que o evento seja entregue aos aplicativos de consumidor autorizados.
Veja a seguir a descrição da ilustração architecture-blockchain-event-streaming.png
Descrição da ilustração architecture-blockchain-event-streaming.png

Antes de Começar

Você precisa de um aplicativo chaincode que emite eventos e precisa de um ou mais aplicativos que consomem os eventos emitidos pelo chaincode. Se você não tiver ativos de blockhain existentes, poderá modificar uma das amostras incluídas no Oracle Blockchain Platform.

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.