 iniciamos então, Marcos? Sim, vamos. Ok, ok. Pessoal, gostaria de agradecer em nome do Capitulo Brasil a presença de todos para mais esse evento. Hoje a gente tem um evento que foi esperado aí por um semestre desde que a gente teve o primeiro contato a respeito da oportunidade. Hoje um colega nosso do capítulo que vai falar uma grande satisfação tê-lo aqui, ele já apresentou essa apresentação no Global Forum desse ano e eu gostaria de agradecer além do do Magno, que vai ser o apresentador, mais uma vez o Marcos, que é o colega que está nos apoiando aqui no processo de execução desses eventos e mais uma vez ele foi sensacional na preparação desse evento. Pessoal, só lembrando que nosso capítulo tem reuniões 15 anos, todas as segundas-feiras, as 18h30, todos estão convidados. Na próxima segunda-feira a gente vai ter reunião no grupo de documentação e na semana do dia 30 a reunião do grupo do Hyperledger para tratar de assuntos em geral. Então eu fico muito feliz com a presença de todos, eu gostaria de passar a palavra para o Marcos para fazer a introdução do nosso apresentador e afinal a gente volta com as perguntas. Marcos, obrigado mais uma vez e seja bem-vindo. Eu que agradeço a todos que estão aqui, agradeço especial Renato Teixeira, um que tem compartilhado comigo aqui as funções dentro do capítulo Hyperledger Brasil. Só um pouquinho de alguns detalhes da apresentação, né? O nosso palestrante hoje vai fazer a apresentação, ao final nós vamos abrir as perguntas, coloquem as perguntas no chat, ou no chat do YouTube, ou no chat aqui do Zoom, que eu e Renato passaram essas perguntas de forma organizada para o palestrante de hoje. E o palestrante de hoje eu vou falar um pouquinho aqui do currículo dele, de engenharia elétrica no Rio de Janeiro, post graduado com MBA, também com mestre em ciências, com especificidade em criptografia e blockchain, líder do grupo de usuários de árvore do Rio de Janeiro, certificado PMI, certificado pela blockchain treina lá, entre outras, tá? Uma pessoa extremamente especializada aqui e mais do que isso, tá? Não representou, não representou no Fórum Global da Hyperledger neste ano, né? E essa apresentação que nós teremos aqui hoje, tá? Então, estamos aqui com o Magno Cavalcante, que vai falar um pouco de detalhes técnicos, da sua experiência, do seu conhecimento relacionado ao mundo de um dos caras, de umas das, dos projetos Hyperledger, que é exatamente Hyperledger Fabric. Magno, meu amigo, você está contigo, muito obrigado por estar aqui conosco. Obrigado, Magno. Oi, pessoal. Boa noite. Eu me chamo Magno Alves, Cavalcante. Essa apresentação aqui foi feito com carinho para a comunidade e principalmente para o pessoal técnico, né? My presentation is writing in English. You can follow my presentation if you don't be able to understand and after you can comment on YouTube about the presentation. Pessoal, eu vou compartilhar o conteúdo da apresentação com todo mundo, tá? Agora, vamos pegar aqui, compartilhando o tela. Joia. Renato, sarras, confirma para mim que chegou para vocês aí, por favor. Tá perfeito. Perfeito. Beleza, então. O Magno, Renato, uma perguntinha, uma procurosidade. A palestra vai ser gravada? Demerinha. Ela está sendo transmitida no YouTube, tá? O link está no chat, se você quiser. Ok, tranquilo. Valeu. Como a palestra está sendo gravada, se transmitida pelo YouTube, as pessoas que não têm a capacidade de entender português podem usar closed captions para poder entender pela tradição simultânea. I can use closed captions to understand my speaking from português turinhos. Ok, pessoal, vamos lá. Então, o tema é a composição de frameworks do Hyperledge Fabric, para a construção de redes e blockchain. Então, um resumir para vocês, né? Essa apresentação vende a minha experiência para configurar uma rede blockchain corporativa e para lidar com os vários frameworks Hyperledge Fabric de uma estrutura que a gente usa para configurar uma rede corporativa de produção. Então, essa apresentação foi organizada a partir dessa nossa experiência, em configurar um ambiente de qualidade, um ambiente produtivo, né? Numa situação real, multi-organizacional. A apresentação vai focar aqui em como você pode trabalhar com o Fabric CA, com o Fabric Xploria, com o próprio Fabric, com o ordenador RAFT para configurar a sua rede, né? Uma das dificuldades que eu encontrei ao longo do tempo ao lidar com a plataforma Hyperledge foi em primeiro lugar a documentação e as demonstrações da documentação ocorrem em sílos, ocorrem em determinados fragmentos, né? Unir todas essas demonstrações, todos os fragmentos que vem com material, com fato material do Hyperledge Fabric tem sido uma dificuldade, né? Vários exemplos que são dados de recursos na Internet são baseados nas redes de teste que já vêm de fábricas configurados. Então, esse material aqui eu produzir justamente para poder entregar esse conhecimento para a comunidade Hyperledge e para facilitar a vida de quem está implementando uma rede completa aí no ambiente produtivo. Sobre mim, né? O Marco Sarr já falou, eu vou pular essa parte aqui. Bem, a agenda da apresentação, né? Eu vou discorrer um pouco sobre o cenário da rede blockchain, as configurações básicas aí do Fabric CA, as configurações básicas do Fabric, configurações de ordenadores, né? Vou comentar sobre o componente de monitoração, algumas dicas aí para verificar o ambiente encode, status de entrega do chain code, execução de transações, um pouco sobre a configuração do Hyperledge Explorer, como explorar blocos, desafios aí no ambiente produtivo quando a gente coloca o ambiente em produção. Bem, se você está assistindo essa apresentação, por favor pegue seu smartphone para você poder checar agora, para colocar um QR code que contém o código fonte, né? Então, eu estou disponibilizando, em breve, para vocês aí nessa apresentação um QR code, o qual vocês podem acessar diretamente o repositório do GitHub, onde tem todo o código fonte aqui informado. Então, qual é o cenário da rede, né? Duas organizações aí que eu nomeei como Coff Corporation e Juice Corporation, criaram uma rede blockchain, rede negócios, a gente chamou ela de Drink.net, para comercializar e produtos relacionados a sucos naturais, vou ser bem genérico, né? Toda parte natural, isso pode estender café, chá, água de coco, etc. E essas organizações elas criaram essa rede de negócios delegaram para uma terceira organização, tal da Trading Corporation, para gerenciar rede de negócios, né? Então, é um tipicamente um cenário de rede de negócios, onde duas ou mais empresas colaboram, geram uma joint venture, uma terceira empresa, que vai administrar o ecossistema da rede e fazer a governança da rede, né? Uma outra empresa que pode entrar no futuro é tal da Wine Corporation, que trabalha com vinhos. Essa joint venture, ela tem como princípios, é, mas ela dá informações para poder gerar arrastreamento, né? De comida, bebida e outras coisas relacionadas ao mercado de bebidas. Desde lá da plantação, por exemplo, lá o produtor tem a plantação dele de café. O café é de que safra? Qual é a saca dele? Foi para com a cooperativa, depois da cooperativa foi para da fábrica. Da fábrica, ele foi para o distribuidor. O distribuidor foi para o ponto de venda, que é o mercado, é o mercado para a casa da pessoa. Então, proveia esse nível de arrastabilidade. Bem, eu não entrarei nos requisitos funcionais do ponto de vista da rede de negócios em si. Eu vou tratar nessa apresentação da parte de infraestrutura da rede e como a rede está montada e como vocês podem utilizar. Outra coisa, eu não farei uma demonstração de que eu estou ajudando, porque o objetivo aqui é apresentar o código fonte que vocês possam baixar e rodar a rede nas suas próprias máquinas. Então, é o comentário sobre essa rede, né? Essa rede tem, basicamente, duas empresas aí colaborando que estartaram a rede de negócios. A primeira é a Coff Corporation, a segunda é a Deux Corporation. Tanto a Coff, quanto a Deux, se tem dois peers, cada uma, uma terapia 1 e cada uma tem um servidor com o Fabric CA para fazer a geração de certificado. Temos também a Trading, né? A Trading Corporation faz o gerenciamento dos ordenadores e ela também tem um gerenciador de certificado da parte dela. A Trading e as outras organizações, o Finance Manteu tem relacionado ali a uma pequena servidor do Fabric Explorer para poder fazer o mapeamento dessa rede e a exibição de blocos de maneira visual. Possivelmente no futuro aí fica como trabalho de casa para quem quiser estender e isso é proposital, as pessoas podem adicionar essa rede a Wine Corporation. Então, o exercício de casa é o pessoal baixar o código fonte, estudar, estalar, configurar, botar para rodar e adicionar na rede todo o material de configuração da Wine Corporation. Onde que você está disponível, né? Eu criei um repositório lá no GitHub caso vocês tenham alguma dificuldade, basta lembrar do meu nome do meu repositório lá, que é MgN Research. Dentro do MgN Research, eu compartilhei novamente esse repositório que é o hlfebric-ref-fca. Esse repositório tem lá todo o código fonte e instruções, inclusive inglês, para poder quem for trabalhar colocar no ar essa rede, testar e etc. Já com toda a integração entre os componentes disponíveis. E aí está o QR code para quem quiser fotografar, filmar e depois baixar o código fonte e testar na sua rede. Bem, do lado esquerdo aqui, né? O primeiro passo que a gente trabalha é a configuração do hlfebric-fca. Então, a gente configurou primeiros hostes da rede que a gente chama do TLS, que aqui está determinado como TLS Ring. Então, para nomes de DNS, nós estamos usando aí a rede que tem ponto bis, que é um nome virtual, isso não existe na realidade. Então, tem um febre que é o TLS, que é o básico ali, que a gente chama TLS Ring, e todos os demais relacionados. Eu, para cada elemento e componente da rede, eu fiz um print. Do lado esquerdo tem uma imagem aqui com print de uma parte da configuração do hlfebric-fca, onde estão notados alguns os especiais do hlfebric-fca, que eu coloquei para vocês. Tem informações importantes, né? Aí vem algumas dicas da experiência já. Então, do lado esquerdo aqui, por exemplo, o febre que ele vem com uma determinada configuração de expiração do certificado. É importante a equipe que está trabalhando com isso, vai ver o ambiente produtivo revisar essa configuração de expiração do certificado, seja reduzindo, seja aumentando, de acordo com a política de segurança da informação das empresas. Então, esse é o primeiro elemento de configuração que vocês têm que trabalhar. Outra coisa no arquivo é a configuração dos namespaces, dos nomes relacionados ao certificado. Então, eu tive o cuidado de colocar aí para fins de expiração, o pessoal pode anotar. Tudo que vai lá no certificado gerado pelo hlfebric-ca. Aqui embaixo, os rostos, provavelmente vocês vão ter que aumentar essa lista de rostos em ambiente produtivo, de modo que o certificado possa ser reconhecido os demais rostos da rede. Então, essa é uma primeira dica que eu dou para vocês em relação ao hlfebric-ca, configurar todos os rostos relacionados à rede, de todos os componentes, as organizações que compõem a rede de negócios. Já sobre a configuração do hlfebric, o hlfebric vem com várias configurações do ambiente produtivo. Eu chamo a atenção de tomar o cuidado com as configurações do localMSPID, onde tem as informações sobre onde estão configurados os meus certificados. Notem aí que o localMSPID tem o core peer MSP com feedback, que tem uma configuração específica já para quem baixou o certificado do hlfebric-ca, instalou na máquina e deixou ali o certificado prontinho para poder ser configurado. Por consequência disso, a gente está utilizando essas variáveis de ambiente já com esses caminhos para montar. Então, isso era uma dificuldade que a gente sempre quer colocar em produção. Como é que eu faço para contornar isso real, para gerenciar os certificados da rede e de como a minha organização acessa a rede? Então, eu já preparei esse material, tenho um roteirinho para quem quiser utilizar e trabalhar com o hlfebric. Vai uma dica importante, especionar e revisar o conteúdo do core.yml, que é o arquivo aí de cada peer. Então, se você não criar, provavelmente vai ter algum problema no startup do hlfebric em cada organização. Então, é bom revisar essa configuração do core.yml. E em cada organização, vou tirar exemplo da core.comporation, tem dois peers, o peer 0, peer 1, dois code DB e dois clituos para poder fazer a configuração. Sobre a configuração de ordenadores do startup, foi outro desafio implementado para juntar essa configuração no modelo. Então, eu estou trabalhando aí com o hlfebric de vários ordenadores e fica também a dica para quem vai configurar esse ambiente. Quando você configura o config.txt.yml, para que o hlfebric funcione o modelo de clustering que é o modo dele, existem algumas configurações especiais de pontos de vista descertificados. Então, eu já fiz essa pré-montagem e já está disponível também. Sai também está no código fonte para todo mundo poder ver. No final, depois vocês podem perguntar com as suas dificuldades que a gente teve para configurar esses ordenadores heft aí. O próximo slide eu tratei exatamente dessa parte aí, como é que ficam as variáveis de ambiente. Na hora que você vai colocar o heft no ar, o que eu tenho que trabalhar? O que eu tenho que usar? Então, reparem ali o orderfilelocation, que tem um diretório específico, que propositadamente a gente configurou para que o servidor do order grave os arquivos da rede onde ele coloca isso. Isso é importante para quê? Para poder ter backup para você como administrador do computativo. Poder fazer backup do storage em um lugar determinado. E outra configuração que sinaliza ali do genesis profile, do que a gente gerou lá antes a partir do config.tx.qm. Outras configurações a gente colocou, digamos, a parte do que existe de padrão dentro da configuração do ordenador. Então, o que está marcado aqui embaixo sobre order in cluster são coisas a mais que a gente resolveu configurar. Os três primeiros existem, a configuração último, a gente está anotando e colocando como recomendação para o pessoal. Lembrando, você tira as variáveis de ambiente básicas do order.txtm e traz para a configuração do arquivo do docker, para você poder customizar elas, etc., de acordo com o que você configurou descertificados. Então, já passamos aí rapidamente pela parte do FebrexCA, pela parte do FebrexCA, alguma configuração aqui dos ordenadores Heft. E aí eu vou comentar uma outra coisa importante para quem faz configuração de ambiente produtivo, que é habilitar a monitoração e a entrega de opções de health check e essas métricas de health check do ambiente. Então, ao fazer a configuração do ordenador, do PIRA, do FebrexCA, é importante que trabalha no ambiente produtivo ter essas configurações de monitoração e estabelecer políticas de monitoração do ambiente. Ao trabalhar com blockchain, a gente lida com uma rede descentralizada e distribuída. Então, saber quais pires da sua rede estão no ar e quais estão offline, saber quais ordenadores estão no ar, quais estão offline e monitorar de maneira proativa estes serviços na rede é muito importante. Então, se você está a queda da rede. Então, fica uma dica muito importante aí que muitas vezes o pessoal não configura, esquece de configurar aqui a configuração, esses parâmetros de configuração para se obter métricas do ambiente. Graças a isso, você poderá, no seu ambiente produtivo, instalar um servidor zábix, instalar um servidor de monitoração especializada para poder configurar cada máquina dessa. E aí quando o cliente faz uma modificação do tipo, olha, minha aplicação está dando problema, não sei o que está acontecendo. E você vai buscar informações no back end, essa monitoração facilita muito a você poder identificar qual é o ponto de falha da tua rede. Será que, por exemplo, todos os ordenadores estão fora do ar? Será que restou algum ordenador? Tive algum problema no PIA? Tive algum problema de out of memory no PIA? Então, ajuda bastante isso. E uma outra coisa que eu sempre dou para o pessoal é ativar um sistema de monitoração, como eu falei, especializado em coletar os dados. Então, aqui eu coloquei para vocês um exemplo de como a gente poderia vir a script coletar os dados desses servidores. Então, eu, se eu for administrar essa rede, essa infraestrutura de rede blockchain que está na minha organização, a primeira coisa que eu vou fazer é, além de criar os ambientes, as variáveis de ambiente que me permitam ter o end-point de monitoração, eu vou criar um outro local para poder coletar informações do ambiente. Então, um simples script pode em cada servidor coletar informação de healthshack, de log dele, etc. Isso dá muita resiliência do ambiente na hora que a rede está dando problema. Roda o script, coleta as informações em cada servidor e verifica para achar onde o sucesso de falha da rede blockchain. Continuando ainda sobre a parte de monitoração, eu criei aqui uma criação minha, especificamente um código-fonte em JavaScript, que faz uma conexão a um ambiente. Ou seja, além de ter a monitoração de infraestrutura no back-end, você pode, do ponto de vista de quem está de fora da rede, que vai tentar se conectar pelo gate, criar um código-fonte que tenta acessar os peers e os ordenadores para verificar a condição da rede. Eu fiz isso, eu criei lá dentro, está disponível para todo mundo consumir lá, uma maneira, um JavaScript para você fazer uma conexão, abrir o gate, fazer uma conexão com o peer e testar. Será que a rede está funcionando? Será que a rede não está funcionando? Essa abordagem aqui é uma abordagem que eu chamo baseada no Thrust Driven, Thrust Driven Development, desenvolvimento criado por testes. Então, antes de você submeter alguma coisa para a rede no ambiente e desenvolvimento, deixa eu ver esse primeiro, se a minha rede está no ar. E para quem está no ambiente produtivo, recebeu um aviso do cliente, alguma coisa assim, que está com problema na rede? Bem, vamos ver se a rede está no ar. Roda um script também, do ponto de vista de cliente, que está um exemplo para vocês, é uma partezinha do script que está lá no código-fonte e testa no ar. Bem, algumas dicas aí para verificação do chain code no ambiente produtivo. Eu lembro, usar o comando peer-chain-code list para verificar quais são os chain codes instalados, instanciados, e usar o comando peer-chain-code query para verificar se o chain code está no ar ou não está no ar. Aí, o terceiro bullet é importante, em ambiente produtivo, instanciar um chain code para demorar um grande tempo, às vezes 10 minutos. Então, eu já tive experiências com redes rodando em Kubernetes, toda a rede blockchain está em ambiente, por exemplo, Kubernetes, onde na qual, cada vez que a gente resta um peer, a gente tem que verificar se, naquele peer, o chain code subira adequadamente. Então, em vez da gente esperar do ponto de vista da estrutura que o cliente, ou a aplicação cliente, faça o invoke e cada peer faça essa instanciação, a gente já preparou um script lá para quem administra o ambiente para invocar o chain code fazendo uma query nele, um peer-chain-code query. Isso provoca uma instanciação do chain code. E eu já tive problemas, como disse em ambiente produtivo, de o chain code demorar 10, 15 minutos. E enquanto o chain code não sobe no peer, a gente tem que ficar monitorando para saber se ele subiu ou não. Isso, em parte, é causada pelo conteúdo do package.json, para quem trabalha com JavaScript, por causa das bibliotecas, da herança de bibliotecas. Então, é importante rever o package.json para ter ali dentro somente a referência a bibliotecas que são estritamente necessárias, as dependências que são estritamente necessárias. Muitas vezes o desenvolvedor aproveita com algum fonte de outro desenvolvedor. Então, é preciso fazer uma análise crítica sobre o package.json, porque na hora que o chain code for ser instanciado, ele vai verificar o package.json e vai tentar baixar todas as bibliotecas que estão ali. Então, se cada vez que você sobe o chain code, ele vai verificar o repositório central e vai buscar a nova versão, ele fica perdendo aquele tempo de comunicação na rede. Então, se você já especificar determinadas configurações do package.json, isso ajuda o start-up. Diminui a comunicação com a rede externa para se baixar novas versões das bibliotecas e ajuda o start-up no ambiente produtivo. Sobre a questão do deployment status. Então, uma coisa que a gente recomenda é usar script para verificar o status dos team posts. Então, a gente montou scripts no ambiente produtivo para justamente rodar esses scripts para verificar se o chain code subiu ou está demorando. Como é que está a configuração do chain code? Se ele subiu, posso verificar devido a nossa experiência com o ambiente produtivo. Então, também o script está lá disponível para vocês poderem baixar, verificar e usar no seu ambiente, customizando ele apropriadamente de acordo com a sua rede. Rodando transações, algumas lembranças para o pessoal. A gente usou nesse caso aqui dessa apresentação e desse laboratório que eu montei, que o core de fonte está disponível para vocês. O exemplo 0.2. O exemplo 0.2 é um chain code famoso aí dentro dos exemplos da plataforma Hyperled. Então, eu coloquei um exemplo na tela substanciação do chain code. Reparem que nessa realização. A gente já faz uma pré-configuração aí do endorsement. Um exemplo de invocação do chain code e um exemplo de query do chain code. Uma coisa importante é o seguinte. Fazer query no chain code, o executar o comando peer-chain-code query, ele não gera um novo bloco na rede, um bloco de transação na rede e não aumenta o tamanho da rede em termos de hash, de tamanho de hash. Já o invoca chain code, você tem uma transação de fato na rede. Então, para quem vai testar um ambiente, eu recomendo, mesmo em um ambiente produtivo, até usar o IA chain code query. Já se você quer realmente gerar um novo bloco na rede, use o invoca chain code. Sobre a configuração do Hyperled Explorer, fica algumas dicas. O Hyperled Explorer, ele é uma framework do ambiente que ainda está em desenvolvimento, subindo a versão dele e o pessoal está fazendo um trabalho grande para poder melhorar as habilidades de configuração dele. Mas fica algumas dicas como configurar o serviço de banco de dados para armazenar o Hyperled Explorer. Nessa configuração é importante você configurar o timezone, o timezone de trabalho, o timezone base da sua área que você vai ver as informações do Hyperled Explorer. Uma outra dica que eu dou é que pode ser necessário de tempos em tempos, devido à versão atual, as configurações do Hyperled Explorer, você limpar a base de dados e deixar ele fazer um novo tracking, um novo rastreamento na rede, baixar todas as informações. Isso devido a alteração de chain codes, alteração de configurações na rede, alteração de configuração de certificado, etc. Então, se você está tendo muito problema com o Hyperled Explorer para poder fazer um mapeamento na rede, uma das dicas que eu vi em fora é limpar sua base de dados, limpa sua base de dados do Hyperled Explorer e deixa ele fazer um novo rastreamento. E o Hyperled Explorer tem que ter um pouco de verificação de paciência com ele, uma rede que tem 100 blocos, uma coisa é ele mapear essa rede, fazendo o tracking da rede que tem 100 blocos. Outra coisa é fazer o mapeamento de uma rede com 10 mil blocos, 100 mil blocos, ele vai demorar mais tempo para poder fazer esse rastreamento. Mas é um serviço que fica rodando lá em back-end, então, espera, start ele, espera um tempo e começa a ver ele verificar. Então, eu marquei algumas configurações importantes dele, configuração do Go, configuração do Timezone e as configurações aí de intercâmbio de dados entre o banco de dados e o próprio Hyperled Explorer. Saiu uma dica para quem vai configurar o Hyperled Explorer para ambiente produtivo, tá? Uma outra dica que eu dou também são relacionados às configurações específicas dele. Então, o Hyperled Explorer é preciso que você, na mão, edite alguns arquivos dentro dele e esse mapeamento de arquivos que é para o seu ambiente funcionar. Então, é necessário você configurar o Explorer Config.json, é necessário você configurar o Config.json, é necessário você configurar o direitório de logs, o connection profile, se você está usando certificados SSL e o seu repositório de Warrites aí de configuração. Então, são algumas configurações que são necessárias de se fazer. Isso está na documentação do Hyperled Explorer, mas muita gente tem dificuldade com o Hyperled Explorer por causa disso, porque não fez essa sobreposição. Então, essa marcação que eu fiz na tela aí, por exemplo, o primeiro item é ali, né? Se você deixar de configurar o Explorer Config.json com as características da sua rede, o Hyperled Explorer, quando subir, ele vai assumir as configurações do Explorer Config.json que ele trouxe dentro de uma imagem docker. E aí você vai ter uma dificuldade para poder acessar e ver os dados corretos lá pela Hyperled Explorer. No segundo budget, eu chamo a atenção de a equipe fazer o enroll, baixar o certificado a partir de um usuário da CA autorizada de sua escolha e usar esse usuário aí no Hyperled Explorer. Só que fica importantíssimo, é o ponto de atenção. Cuidado do usuário. O usuário que tenha um próprio perfil de acesso ao ambiente com somente acesso de leitura ou que tenha uma delegação de leitura, que é para evitar entrada de hacker ou para evitar algum vazamento de segurança e informação na sua rede. Apresento para vocês algumas variáveis de configuração, você configurar no seu ambiente o Conexion Profile NetOr, como o Hyperled Explorer se conecta à sua rede, o próprio Conexion Profile que é aquele config.json, o endereço do banco de dados, o host etc. E aqui embaixo, configurações que você tem que tomar cuidado, descobre as localhost, dá uma lida na documentação para você entender o que é o descobre as localhost, quando você coloca como falso, quando você coloca como true, a variável gopf é a Timezone. Então, a configuração de Timezone tem que estar tanto no banco de dados quanto no serviço do Hyperled Explorer adequadamente configurado. Então, estou a exibir para vocês alguns blocos, para quem nunca viu o Hyperled Explorer, sobre a rede. É importante porque traduz para quem é leigo em termos de ambiente blockchain, é leigo, digo, não entende o miolo ali, a parte do back-end de blockchain, que você tem realmente uma rede blockchain. Então, é uma maneira que você tem a partir da tua rede, usando o Hyperled Explorer, apresentar para a tua área de negócios que você tem de fato uma rede blockchain. Ah, como é que está a configuração da rede blockchain? Está aqui, tem tantos blocos, nesse caso tem 15 blocos, 15 transações, um nó, que é o nó ativado no Hyperled Explorer e um Chincode que estava configurado. O que é que apresenta essa telinha aí? Inclusive, pode ensinar a viajar pela rede, né? Então, essa rede, nesse momento, ela está reconhecendo apenas o PIR, da Coffee Corporation e os ordenadores que estão vinculados a ele, por causa da limitação do usuário. Os blocos, você pode especializar os blocos, ver a lista de blocos, ao ver a lista de blocos, você pode inclusive clicar em um bloco e especializar o conteúdo desse bloco. E apresentar realmente, olha, temos uma rede que tem que funcionar na rede blockchain, está organizada desta maneira, inclusive o nível dela, o número de bloco dela é 14, desse bloco aí, o grau dela, como é que está, o resto de blocos, etc. Isso traduz para a área de negócio que, olha, no back end da minha aplicação, existe realmente uma rede blockchain. E essa é uma parte de demonstração do Hyperled Explorer. Alguns desafios na rede produtiva, né? Dicas para quem vai trabalhar realmente com uma rede no ambiente produtiva. A segurança do seu sistema, né, da sua rede blockchain, ela vem sempre em um primeiro lugar. E ela depende dos seus parceiros de negócio. Ela não depende só de você. Então, numa rede permisionada, descentralizada e distribuída, não adianta a empresa, por exemplo, a Coffee Corporation, ela configurar um alto de segurança do lado dela. Se a Juice Corporation configurou, sem as fracas e permissões de acesso fracas, pode ser que algum hacker, alguma pessoa maliciosa, vá querer entrar para aquele caminho. O 2 ali, verifique e teste, né? São as imagens docks. Dock é para descobrir e prevenir fares de segurança. Então, a imagem dock provida pela Hyperled, ela é um sistema operacional. Será que naquele sistema operacional que a gente baixou e está rodando dentro do container, as bibliotecas estão todas atualizadas e compatíveis com o grau de segurança da organização? Então, é importante, em algum momento, submeter as suas imagens para a sua equipe de segurança e informação, para a sua equipe verificar se as bibliotecas estão na equipe, se não tem nenhum código ali, nenhum trojan, nenhum cavalo de troia implantado ali e que possa corromper o teu serviço que está em produção. O item 3 ali, né? Prover se portar ambiente para garantir a qualidade de teste. Isso é muito importante. Você tem um ambiente de testes, de qualidade de teste, que faça parte da tua rede de negócio. Então, a rede de negócio, ela mantém essa rede de qualidade para poder testar todos os team codes que vão para o ambiente produtivo antes e fazer o processo de homologação adequadamente. Isso é muito importante. Então, a sua rede de desenvolvimento, ela é só da sua organização e a sua rede de teste de qualidade, ela é do consórcio inteiro, da rede de negócio inteiro. Outra coisa ali, o item 4, é mover as suas contêneas para o Kubernetes. Não trabalhar só com Docker local, trabalhar com Kubernetes no ambiente produtivo para você poder escalar blockchain e poder aumentar a quantidade de piro que você pode manipular no ambiente produtivo, poder ter um restart de um piro que você pode dividir e dar um nível, um grau de escalabilidade maior. A outra questão importantíssima, o 5, é estabelecer serviços de piro e ordenador distribuídos geograficamente. Então, se você tem um data center, por exemplo, no Rio de Janeiro, cantar, obter, seja através do serviço de internet ou de um serviço local, um outro ponto de conexão para você instalar um serviço de piro e um serviço de ordenador distribuído geograficamente em São Paulo, em Nova Iorque, na Ásia, em algum lugar, para poder ter essa replicação e garantir que se o meu ambiente aqui no Rio de Janeiro cai, eu tenho ambiente distribuído geograficamente dentro da minha organização que vão ter que a rede continuar. O itensês ali, configurar a HyperX Explorer somente para uso interno. Então, HyperX Explorer tem que ser visto somente dentro da sua rede confiável. Ele não pode estar na sua DMZ, ele não pode estar na sua internet. Se ele tiver, você tem que fazer um grande exame para poder verificar, mas eu particularmente não recomendo, porque eles põem dados essenciais no blockchain. Então, toma cuidado. Toma cuidado com essa configuração da HyperX Explorer. Configurei ele sempre para uso interno. As exceções terão que ser tratadas com muito cuidado sobre colocar aí o HyperX Explorer disponível na internet. E o ponto 7 ali, criar um sistema de monitoração externo, externo ambiente blockchain, para poder monitorar a performance e a vida da sua rede como é que está a rede, minha rede blockchain, como é que ela está funcionando, os piers estão funcionando, tem sobrecarga de memória, sobrecarga de processamento, cobernece está dando conta. Então, estabelecer um sistema de monitoramento, uma política de monitoramento que é para evitar que o seu sistema passe por algum problema no ambiente produtivo. Então, esses foram alguns desafios aí em produção. Eu deixo aqui algumas referências. Eu vou chamar atenção para os últimos 3 que eu fiz questão de colocar, que eu utilizei aqui nessa apresentação no meu material para poder desenvolver. Então, o usuário é eu, KC10, ele é um usuário bem conhecido lá no mídio e ele detalha muita informação da plataforma Hyperledger e como usar vários componentes da plataforma Hyperledger. Eu tirei muita coisa de lá, só que ele colocou, por exemplo, elementos baseados nos exemplos de fábrica. Não trouxe para uma realidade, já aproveitei o que ele fez e coloquei um novo grau aí de entrega para a comunidade Hyperledger através desse código fonte que eu estou disponibilizando, para poder facilitar essa acessa e já pegar uma rede com tudo integrado, com Febrex, com Febrex, com Heft, com Hyperledger Explorer, para alguém ver como é que se é isso tudo e poder partir daí e crescer a sua rede blockchain. Pessoal, essa é a última parte, nós estamos em uma revisão da agenda, a gente passou a ter o cenário da rede blockchain, a concluturação do Febrex, Febrex, comentei sobre os ordenadores Heft, componentes de monitoração, dicas para verificação de TINCode, deplamamento de status, execução de transações, explorando blogs, etc. Então, o mais importante disso aqui é que vocês podem, depois do código fonte, exercitem isso. O código fonte está disponível para comentários, para participação de quem quiser. Eu deixei lá justamente para a colaboração da comunidade. Então, o código está lá disponível para quem quiser baixar e colaborar e melhorar o código. Não é definitivo, tem muita coisa lá a ser melhorada dos roteiros a serem melhorados. Então, vamos ao espaço para dúvidas e questionamentos. Eu vou ter em romper a colaboração aqui e passar a palavra para o Sárez e para o Renato, para que eles possam continuar, tá, pessoal? Muito bom. Muito bom, realmente. Eu particularmente é muito legal ver toda essa jornada de conhecimento sendo exposta aqui. Acredito que muita gente aqui, que em algum momento já está desenvolvendo ou se engolver, vai se inspirar nessa apresentação para entender alguns detalhes em relação ao conhecimento. Temos algumas perguntas aqui, mas eu vou fazer uma minha antes. Queria uma consula sobre quando se vai fazer o início de uma plataforma Hyperledia Ferry, como você sugere a divisão dos ordens numa rede de acordo com o processo? Quando você fala de divisão dos ordens, pode detalhar um pouquinho mais? Se é para organização, se é para localidade? Vou dar organização. Como sempre, depende do acordo feito entre as partes, as partes que integram a rede de negócios. Se a rede surgiu com duas organizações, uma delas pode fazer o host de todos os ordenadores. E o próximo passo provavelmente vai ser o quê? Outro organizador, vamos por exemplo aqui, a Cos Corporation pode promover os ordenadores por conta dela, no ambiente dela, mas e a Juice Corporation se conectar e começar a trabalhar com eles, começar a trabalhar junto na rede. Mas logo, logo, a Juice Corporation vai ter uma ansiedade de criar um ordenador do lado dela. Por quê? Imagina a situação que todos os serviços da Cos Corporation caíram e somente a Juice Corporation que está do outro lado está funcionando com seus peers, mas ela não tem um ordenador. Ela não vai conseguir colocar uma transação na rede, porque ela não tem um ordenador. Então, uma organização que entre na rede, o caminho natural é que ela primeiro entre com peers, entre com um peer, depois ela coloca o segundo peer, começa a participar e a colaborar e investir na rede. O caminho natural é que ela participe e crie um ordenador do lado dela, que é justamente para promover essa resiliência, o tal do processamento descentralizado e distribuído. Normalmente assim como uma rede nasce. E aí no futuro, por exemplo, a Wine Corporation vai entrar com um peer, vai entrar com o segundo peer e naturalmente ela vai querer também entrar com, pelo menos, em uma instância de ordenador para poder promover a resiliência da rede. Então, se ela tiver algum problema de conectividade, ela pode executar uma transação ali e quando volta tem uma reconciliação. Eu já passei por isso, a gente já teve uma questão dessa que guiou esse passo natural de criar ordenadores. E a outra dica que eu dei para vocês aí na apresentação foi a questão da distribuição. Evita colocar, por exemplo, para quem trabalha com a Amazon, a Amazon tem a opção de localidade. Evita colocar tudo na mesma região. Tenta alocar uma outra máquina em outra região que te permita ter um peer e um ordenador para você poder ter essa distribuição de modo que, se uma determinada região cair, você vai poder seguir com outras. Aí eu dou exemplo lá daquele data center na França, que a gente teve um problema, ele caiu, boa parte da rede da França, a internet caiu e como é que ficou ali, né? Então, isso tem que ser previsto. Vida, o que aconteceu no 11 de setembro também, por exemplo, né, Mago? Que tinha muita coisa centralizada, não estava dispersa geograficamente. Muitos databases, né? Essa pergunta que eu fiz com a Gorda, ela vem muito porque as pessoas, às vezes, querem saber a diferença de um sistema centralizado, de um sistema em blockchain, e veio exatamente para isso. No sistema blockchain, o processo descentralizado entra no sistema, depende de quem está ali dentro da rede, quem são os atores que fazem parte da rede. Eu vou seguir aqui com a pergunta. Os atores, os atores da rede são responsáveis, são corresponsáveis pela manutenção da rede e tem que atuar pela manutenção da rede. E tem que, é outra lembrança, eles têm que ter consenso sobre a manutenção da rede, né? É uma rede descentralizada, distribuída no qual os atores da rede permissionada têm que ter sempre e buscar sempre o consenso. Beleza, vamos na próxima aí. A próxima aqui do YouTube, o Wagner Cruz, estava, fala muito sobre, pergunta sobre documentação, já teve dificuldades na implementação do Hyperledia de Explorer e aonde ele é possível ter uma boa documentação para realizar as configurações e não apenas do Hyperledia de Explorer, mas também do Hyperledia Fabric, onde é que ele pode conseguir informação em relação a isso. De repente, até já jogo também essa questão já para o nosso grupo de tradução representado aqui e isso, vamos lá. Lembrando que Hyperledia tem dois repositórios, digamos assim, de documentação. Tem o próprio site da Hyperledia e o site a partir do qual você tem toda a documentação oficial e o GitHub. A maior parte da documentação que eu peguei sobre o Hyperledia de Explorer é como ele funciona foi no GitHub. E como é que eu coloco, como é que eu substituo, coloco e lendo devagarinho o pessoal lá que faz os comitores do Hyperledia de Explorer, tiveram cuidado de documentar o passo a passo. Eles não criaram aquela documentação que o, por exemplo, Renato trabalha, que é traduzível, mas tem documentação de código de fonte lá. Isso me ajudou a poder chegar algumas conclusões de quais parâmetros eu deveria colocar para poder colocar o Hyperledia de Explorer para funcionar. Então, esse é o primeiro grau, o site Hub, documentação da própria Hyperledia. E esse foi um desenvolvedor, um canal que eu tenho usado bastante. São as páginas de dúvidas aí da cometa dos fóruns, de vários fóruns de desenvolvimento. Chama a atenção do próprio fórum da Hyperledia. Tem um fórum bastante amplo lá que o pessoal, se saber usar, fica bom. A Hyperledia tem, por exemplo, um canal para qualquer pessoa poder registrar um maícho, que pode ser um bug. Eu já registrei lá, entrou no ciclo de vida, eu tive dúvidas, por exemplo, que ninguém conseguiu resolver em nenhum lugar, nenhum fora que eu participo conseguiu resolver. Então, eu cadastrei como maícho e o pessoal da própria Hyperledia me deu orientação lá. Renato, complementa aí por favor. Eu acho que tem um comentário importante aí que tem que ser feito, que é o seguinte, você comentou, por exemplo, os cuidados que você tem que ter contra a infraestrutura de rede, contra a conectividade. Isso é resultado da sua experiência também. O caminho que você colocou de procurar no código-fonte, procurar na documentação ajuda, ajuda. Mas aquilo ali são mais paters do que práticas no sentido de execução. Porque, por exemplo, ter dois canais de comunicação e ter, por exemplo, um controle de rede onde você tem gente que o que está por de trás é aquilo que tem que estar por de trás do Firewall, que tem que estar na frente somente o necessário. Tem muita ver também com a sua experiência com a tecnologia, com a sua experiência em plantar e operar a tecnologia. Então, ou seja, não é difícil na documentação você cobrir tudo, porque você tem que ser didático, ao mesmo passo que você tem que ser prático. E cada realidade é uma realidade. Então, é trabalho como seu, que é transformar isso numa questão prática interessante, quando você traduz uma série de necessidades que muitas vezes não é sequer documentado, porque pode não ser o papel da documentação também. Só aí. Muito legal. Próxima pergunta aí. Você aqui tem dois elogios, além dos meus, o Daniel Genard e o Mateus Gravan Gavirag. Desculpa, Mateus. Gavirag. Estamos te dando parabéns aqui pela apresentação. E o Daniel Genard... Peraí, peraí. Obrigado. Agradeço. É importante agradecer. Valeu. E eu já aproveito para convidar, colaborar lá no GitHub, tá pessoal? É isso aí. O código já foi compartilhado aqui tanto no YouTube, quanto aqui no Anoshet. E o Daniel Genard está querendo saber sobre relis e liência no fabric, em ambientes que podem ser instalados em diversos locais esperando algum tipo de proteção. Rede descentralizada e distribuída. O fabric nada mais é do que um serviço que roda numa porta. O que você tem que fazer é colocar esse serviço num servidor que você administre, mas ele seja distribuído geograficamente. A resiliência da sua rede é proporcional à quantidade de componentes que participam da sua rede. Então, se eu tiver dois pias aqui no Rio de Janeiro, um piar em São Paulo, um piar em Nova Iorque e um piar em Paris, por exemplo, a resiliência da minha rede vai ser maior, porque se algum desses pias cair, os outros podem manter a rede no ar. E eu posso fazer a tradução pelo connection profile do Gateway que acessa a rede. Então, essa é uma dica. A gente já passou por isso de piar, porque tanto do lado quanto do outro, a rede ficou tranquila. O fato de termos muitos pias e a replicação dos dados garante que a informação está íntegra e que a rede vai sobreviver, mesmo que alguns elementos caem. Acho que só um ponto importante sobre esse assunto é que também quanto mais pias você tem, maior o custo para processar a transação também. Existe uma equalização que você tem que buscar ali, em termos de quantos ordens distribuídos em quantas regiões são necessários para que você, no caso de perder uma região, continuar operando. Então, o modelo, a arquitetura, por isso é uma arquitetura baseada em alta resiliência, mas ainda existe um custo para cada nó a mais que você coloca na rede. Eu, particularmente, eu gosto de fazer o teste de subir a rede com alguns pias, com alguns órgãos e desligar elas em algum momento e tem que funcionar. Em algum momento desligar as máquinas e a rede tem que fazer isso funcionar. Vou seguir aqui com uma pergunta. Só comentaram o Renato, o Renato comentou aí, isso já é o próximo nível, né? Já é o próximo nível de configuração. Ah, sem dúvida, sem dúvida, sem dúvida. É, uma pergunta técnica aqui do Anton, tá? Se eu tivesse o Ring, é um deployment de uma estância do Fabio XA, para que a rede tenha um mesmo problema, tá? Então, tem essa pergunta aqui do Anton, bem técnica. Chamei na minha rede lá o tal do TLS Ring, propositalmente, né? Ring de anel, né? O TLS é justamente para poder ter esse mesmo TLS aí para ficar no exemplo, tá, pessoal? É uma bacana. Mais uma vez aqui, o Curtain que mais antes teve que sair, mas agradecendo também à apresentação, tá, juntamente aqui, ao Augusto, né? Falando que essa apresentação pode ser boa para a certificação, tá? E aqui eu tenho uma pergunta do Matheus Gavirag, que perguntando se você começou o seu projeto utilizando a Test Network ou a Beauty of First Network, que está ali no vídeo de The Docs, do Hyperledger Fabric, ou se você começou do zero esse trabalho, quais são suas dicas? Para quem quer começar agora, fazer a sua aplicação final. Sim, eu comecei seguindo todos os roteiros ali da Test Network, rodando aquilo ali tudo. Depois que eu aprendi a rodar a Test Network, aí eu fui fazer o outro trabalho, que é disso, né? Eu fui tentar fazer a engenharia reversa da Test Network, porque a Test Network era muito baseada em scripts que você executa e ele vai subindo para você. Aí você pensa o seguinte, agora eu quero tirar os scripts, eu mesmo, quero subir isso aqui tudo. Então você tem que fazer uma engenharia reversa do código e modificando. A vantagem de trabalhar com desenvolvimento de software, no ambiente controlado, é que se você modificar, as coisas não vão explodindo, vão pegar fogo assim, né? Pelo menos aqui, não vão dar um problema grande. Então você pode modificar, testei e deu pau. Peraí, onde é que eu errei? Volta a testa, deu pau. E vai e volta até você acertar. Nesse caminho de tentativa erra, você acaba aprendendo muito. Então ler a documentação do código fonte, dos scripts, dos comentários é muito importante. Então eu parti para ler a documentação, depois eu fui ler o digo do código fonte, depois eu fui procurar os detalhes no próprio repositório da Hyperlegia e lá no GitHub. Para saber coisas, por exemplo, ah, qual a diferença entre executar um pertin code e uma invocação de pertin code e uma query de pertin code? Ah, quando é que eu posso, como é que eu faço para poder fazer uma consulta na rede sem gerar um novo bloco? Isso são coisas um pouco mais avançadas no ponto de vista de quem está começando, mas que no ambiente produtivo ajuda muito. Aí esse foi basicamente o caminho, e aí foi teste até tentativa erra, né? É um processo tradicional de tentativa erra. Mas antes você colocou um quando importante, né, cara? A TestNetwork é exatamente para você não ter medo de errar, né? Ela está aí exatamente para isso, para você brincar, para você aprender, para você exercitar, né? Isso é fundamental. É igual no TestDriver, você está fazendo um TestDriver no ambiente controlado. Sentiu-se seguro, está suficiente, comece a mexer nesse ambiente, tente destruir o ambiente para ver o que acontece, gere bugs, gere erros, né? Problemas de processamento, volte para ver o que acontece, né? No termo de time, tá, pessoal? Eu configurei essa rede esse ano, né, a partir do meu conhecimento. Então, a gente está em 2021, né? Ok, eu comecei com isso em junho de 2018. Então, 19, 20, 2 anos e meio, né? 2 anos e meio aí, batendo cabeça e trabalhando profissionalmente até chegar nessa conclusão e poder colocar essa aqui, tá? Em termos de time. Agora, pode ser que alguém faça mais cedo aí, dependendo do tempo que a pessoa dedica exclusivamente ou não para trabalhar com essa documentação e com um blockchain. Legal, falando em time, pessoal, a gente está chegando ao fim, eu vou fazer mais duas perguntas, tá? Para o Magno, se alguém tiver depois, a gente pode por fora, tá? Aqui é a Susana Maranhão do Band IDS. Te dá parabéns para a apresentação. E ela pergunta o que, como é que faz para um usuário externo, se é necessário um usuário externo como quiser acessar informações do blockchain, se é necessário ter um API, em algum, utilizar um API em algum node rede. Por exemplo, se os usuários quiserem rastrear a fabricação de um suco comprado, se existe a possibilidade de um node apenas para visualização. Essa rede, ela não tem timecodes funcionais. O único timecode funcional nela é o exemplo 0,2. Isso aí fica para uso futuro, digamos assim, né? Então, essa rede que eu disponibilizei não tem isso. Se alguém externo quisesse ver ou configurar a rede, essa rede, ela tem caráter permisionado. Então, ele teria que ter um node na rede, um node de leitura, um PIR de leitura, com a configuração determinada para poder acessar e fazer uma conexão no PIR e ter acesso à rede, ler os blocos, ler o material. Então, essa rede aqui, dada a característica dela, era uma rede, digamos, permisionada, barra privada. Então, só vai ter quem tiver autorização de acesso. Se for necessário, se poderia mudar a configuração da rede para essa rede ser uma rede do tipo permisionada pública. E aí, tem várias adaptações, um outro modelo de arquitetura, mas, por exemplo, ter um HyperLex Explorer é na nuvem disponível publicamente. Porque, a partir do momento que você faz isso, tem que se gerar uma nares de risco de segurança de informação e se mapear tudo que tem que ser feito nas configurações da rede para evitar a entrada de intrusos na rede. O Magno, às vezes talvez nem precise, por exemplo, para alguém de fora participar da rede. Não precise, talvez, de ter um PIR da pessoa, da entidade dela, mesmo na rede. Às vezes, ela possa utilizar uma identidade submetida à organização. Pô, se apenas a identidade é carteira, às vezes, ela consegue interagir com a rede, né? Sim, mas quem vai fornecer essa identidade para ela? Aí, a gente entra numa característica que é civil, né? Governo, é igual você pegar sendo alguém para poder usar. Tem que gerar, eu vou ter que delegar uma identidade. Aí já é uma característica muito mais relacionada à segurança de informação em certificado. O que você falou está certo. A única pergunta é, quem é que vai conceder esse certificado essa autorização de acesso para um terceiro? E vem uma outra pergunta, o consórcio vai estar ciente? Isso está nas regras do consórcio? O consórcio, a rede de negócios com todo o comitê, todo o regramento dela. Permite que isso seja feito? É, nós estamos discutindo modelos, né? Para ter outros modelos, por exemplo, você tem um modelo de ter um portal ou um RPI só para consulta específica, com ocultação de dados para que não forem aquilo que o consórcio não deseja se expor. Então, existem vários modelos. Isso até passa a próxima pergunta da Susana, que tem um pouquinho a ver. Como é que funciona? Se existem usuários, administradores da rede, e se existe um modelo de multi-assinatura para a administração da rede centralizada na plataforma Hyperédia FEDER? Existe esse modelo de multi-assinatura. Dá para usar as partes assinarem. Aquela definição, quando você cria uma rede, você estabelece a governança dela, você começa a administrar quem tem perfil de administrador. Cada organização, por exemplo, uma rede pode ter, conceptualmente, um único administrador. Só um perfil de administrador na rede. E acabou. Não vai ter mais do que um. Isso é um consenso que se pode chegar. E aí, outros perfis de consulta, etc. É mais ou menos o que a gente já comentou aqui da parte de gerenciamento de certificados, que é um nível maior. Olha como é que é interessante. Eu fiz uma apresentação. A partir disso, o pessoal já queria um certo conhecimento e está começando a discutir maiores graus de maturidade para evoluir na configuração da rede. Isso é muito legal. Isso que eu vou aproveitar, inclusive por causa do tempo. Eu queria agradecer, cara. Sua apresentação foi muito esperada e acho que ela foi muito melhor do que eu imaginava e esperava que fosse. Mas eu acho que esse é o ponto. A gente já está discutindo a questão de multi-assinatura por uma questão da gestão da rede. Isso é sensacional. Esse tipo de discussão que a gente gostaria de ter realmente aqui. E eu fico muito feliz das pessoas estarem mirando para isso. Pessoal, muito bom. Aqui chegamos ao final do nosso tempo. Só mais alguns agradecimentos. Aqui é a costa de te dar parabéns pela apresentação. Também Alexandre Bastos te dando parabéns. Eu te dou parabéns. Realmente a gente só agradece ter o conhecimento aqui sendo compartilhado com todos nós. Então agradeço também a todo mundo que ficou aqui assistindo a apresentação. E, Magno, suas últimas palavras para que a gente possa terminar. Agradecimento aí é duas pessoas. Paulo Simões e o Carlos Risquiot. Que lá atrás promoveram o Hyperledon Chapter Brasil. Há vocês aí. O Marco Ensarra e o Renato Teixeira pela oportunidade, pela promoção. Eu acho que o Chapter evoluiu muito, muito de 2018 para cá. Realmente estamos tornando em uma comunidade de grande influência nessa parte de blockchain. Convido ao pessoal de mercado, aos desenvolvedores, principalmente o pessoal técnico, a propor apresentações aqui do Hyperledon Chapter Brasil. Acho muito importante essa participação dos desenvolvedores trazendo os cases para cá para o grupo. E outro agradecimento é a audiência. Eu acho que a audiência é muito especial hoje. Muitas pessoas legais aí assistem na apresentação. E se você está assistindo esse vídeo, se não estávamos lá, ele está assistindo para o YouTube, por favor, poste nos comentários aí do vídeo com essa dúvida, com essa sugestão que o Marco e o Renato depois vão endereçar para a gente poder responder. É muito importante a participação de todo mundo aí. Obrigado, pessoal, pela participação. E muita saúde a todos. Muita felicidade, muita prosperidade. Pessoal, só um último notícia. Dia 2 de setembro pedimos a apresentação do Carlos Risquioto, que foi citado aqui para falar de segurança alimentar, para uma das plataformas de blockchain da IBM. Então, mais uma vez aqui, agradeço a todos. Se cuidem. Eu só queria dizer uma última coisa. Se você ficou com vontade de quero mais do Magno, do Magno mostrar mais, eu também já tive essa vontade e começou a folgar do nosso capítulo. Já estamos conversando com isso. Sobre isso, né, Marcos? Sobre o Magno trazer mais assunto para a gente. Então, aguardem em breve. A gente pode ter notícias bem interessantes sobre esse trabalho que o Magno tem feito e que tem sido sensacional. Magno, mais uma vez, obrigado em nome do capítulo. Espero ter você em breve e falando mais com a nossa comunidade. E a todos... Tem chance de mais uma apresentação esse ano, hein? Exatamente, exatamente. Então, obrigado a toda audiência, lembrando, na próxima segunda-feira temos o grupo de tradução no mesmo horário, 18h30. E na semana do dia 30 teremos mais uma reunião ordinária do capítulo. Todos são bem-vindos. Todos têm espaço para falar e trazer suas sugestões, ideias, críticas e dúvidas, ok? Muito obrigado mais uma vez. Obrigado a você, Magno. Marcos, obrigado por seu trabalho e toda a colaboração aí no capítulo. Até breve, tchau, tchau. Valeu, Magno. Bela apresentação aí, parabéns. Obrigado. Tchau, tchau.