Cloud Computing

7 mar, 2017

IBM Blockchain 101: Guia de iniciação rápida para desenvolvedores

Publicidade

Participe da revolução da blockchain! Este guia de iniciação rápida do developerWorks destina-se aos desenvolvedores de aplicativos que são iniciantes na tecnologia blockchain e desejam iniciar rapidamente a construção e o controle de redes blockchain.

Instruções simples mostram como configurar uma rede IBM Blockchain com base no Hyperledger Fabric de software livre, implementar a cadeia de códigos (regras de negócios) e gravar aplicativos clientes para simplificar seus processos de negócios e interações digitais.

Antes de iniciar

Blockchain é uma tecnologia para uma nova geração de aplicativos transacionais. Ela estabelece confiança, prestação de contas e transparência, enquanto também simplifica processos de negócios. O conceito de uma rede blockchain foi popularizado pela bitcoin, mas seu uso prático se estende muito além da moeda criptografada. Com blockchain, a IBM está redefinindo os desafios de negócios mais fundamentais e abrindo portas para novas interações digitais.

A IBM e outras empresas estão colaborando para desenvolver uma implementação de software livre de tecnologia blockchain para uso de negócios, chamada Hyperledger Fabric, sob o Hyperledger Project da Linux Foundation. A arquitetura modular de Fabric suporta funcionalidade plugável, e sua poderosa tecnologia de contêiner acomoda qualquer linguagem de mainstream para desenvolvimento de aplicativos de negócios.

Termos e conceitos de Blockchain

Para atender às demandas dos mercados modernos, o design focado em mercado do Hyperledger Fabric preenche requisitos diferentes e estende o trabalho pioneiro neste campo, enquanto também aborda problemas, como escalabilidade e confidencialidade. O Fabric fornece uma nova abordagem para ativar redes, privacidade e confidencialidade com permissões em várias redes de blockchain.

Entender os termos e os conceitos de como uma rede de blockchain funciona o ajudará a iniciar o desenvolvimento do aplicativo.

Configure uma rede de blockchain e o ambiente de desenvolvimento

Agora que você tem um conhecimento conceitual, a primeira etapa para o desenvolvimento do aplicativo é iniciar uma rede de blockchain na qual é possível desenvolver, testar e implementar seu código. É possível iniciar uma rede de blockchain em qualquer uma das três maneiras:

Opção 1: usando os serviços de blockchain no Bluemix

Com o serviço de blockchain no Bluemix, é possível criar e implementar uma rede de blockchain privada (um clone do Hyperledger Fabric) com um clique.

Dois planos de rede estão disponíveis. Ambos os planos desbloqueiam recursos no Hyperledger Fabric v0.6 e fornecem uma rede de quatro nós com uma Autoridade de Certificação para gerenciar identidades e permissões de membro. A única diferença entre os dois planos é seu ambiente e seu custo operacional.

O plano Starter Developer Network (atualmente na liberação beta) fornece um ambiente com vários proprietários compartilhado em execução no IBM Bluemix Infrastructure (SoftLayer). Este plano é grátis.

O plano High Security Business Network (HSBN) fornece um ambiente de único proprietário isolado em execução em um Secure Service Container em uma oferta do IBM LinuxONE™ z Systems®. Este plano é baseado em assinatura.

Opção 2: usando imagens do Hyperledger Fabric no Docker Hub

Como alternativa, é possível realizar o pull das imagens do Hyperledger Fabric a partir do Docker Hub para criar e gerenciar sua própria rede de blockchain local. Com esta abordagem, você tem várias opções sobre como executar o Fabric no Docker: usando o Docker Toolbox ou um dos novos ambientes de tempo de execução nativos do Docker para Mac OSX ou Windows. Para obter desenvolvimento ou teste mais avançado, é recomendado configurar um ambiente de desenvolvimento do Vagrant.

Após ter o Docker (1.11 ou superior) instalado e em execução, antes de iniciar qualquer um dos componentes do Fabric, é necessário primeiro realizar o pull das imagens do Fabric a partir do Docker Hub:

docker pull hyperledger/fabric-peer:latest
docker pull hyperledger/fabric-membersrvc:latest

Como a execução do Fabric requer a conexão de vários contêineres juntos, o uso do Docker Compose é a abordagem mais simples. A instalação de seu Docker Toolbox ou de qualquer um dos tempos de execução do Docker nativo também instala o Compose.

Para iniciar sua rede de blockchain usando o Docker Compose, siga estas etapas:

Opção 3: usando imagens que são sinalizadas e suportadas pela IBM

Uma terceira alternativa é usar imagens que são sinalizadas e suportadas pela IBM. As imagens sinalizadas pela IBM foram testadas com relação à funcionalidade, à estabilidade e ao desempenho nas plataformas disponíveis (x86, Power e z Systems).

Grave, implemente e teste aplicativos da cadeia de códigos

A cadeia de códigos é o código Go (GoLang) ou Java que permite aos usuários interagir com uma rede de blockchain de acordo com as regras de negócios estabelecidas na cadeia de códigos. Sempre que você chama uma transação na rede, está chamando uma função na cadeia de códigos que lê e grava valores no livro razão.

Para um curso detalhado sobre gravação e composição de cadeia de códigos que possa interagir com sua rede, consulte a linha de aprendizagem do IBM Blockchain para desenvolvedores: desenvolva sua primeira cadeia de códigos.

Opção 1: gravando a cadeia de códigos usando o Bluemix

O Bluemix fornece um tutorial para guiá-lo pelas etapas de construção de um aplicativo de cadeia de códigos. Você construirá incrementalmente uma cadeia de códigos ativa que cria ativos genéricos para trocas em uma rede. Em seguida, você irá interagir com sua cadeia de códigos por meio da API de rede. O uso da API de rede exigirá que você bifurque o código do Fabric no GitHub e instale a linguagem de programação Go em sua máquina local.

Também é possível implementar a cadeia de códigos em uma rede do Bluemix e trabalhar com o código de amostra usando o monitor do painel da blockchain.

Além do aplicativo “Hello Chaincode”, é possível implementar três demos diretamente no Bluemix: Marbles, Commercial paper e Car lease. A demo Marbles é a mais fácil de usar, enquanto que a demo Car Lease é a mais avançada.

Opção 2: gravando a cadeia de códigos usando o Docker

Os desenvolvedores de cadeia de códigos que usam o Docker podem testar e depurar suas cadeias de códigos sem a necessidade de configurar uma rede de peer completa. Semelhante a iniciar uma rede, você tem várias opções para desenvolvimento. Usando imagens do Docker obtidas na Etapa 2, Opção 2 acima, é possível usar a linha de comandos para registrar a cadeia de códigos com um nó de validação e usar a CLI, a API gRPC ou a API REST para chamar transações. Também é possível usar o HFC SDK.

As instruções a seguir se aplicam ao desenvolvimento e à implementação da cadeia de códigos em Go ou em Java. Elas não se aplicam à execução em um ambiente de produção.

Também é possível implementar os aplicativos Marbles, Commercial paper e Car lease para seu ambiente do Docker local.

Se você estiver desenvolvendo a cadeia de códigos em Java, siga essas instruções:

Grave e implemente aplicativos do lado do cliente que chamem aplicativos da cadeia de códigos

Assim que você tiver uma rede de blockchain com a cadeia de códigos registrada, será necessário construir aplicativos do lado do cliente que possam ler, gravar e chamar as regras de negócios que você gravou na cadeia de códigos. O Hyperledger Fabric Client (HFC) SDK fornece uma maneira poderosa e fácil de usar APIs que permitem que aplicativos interajam com uma blockchain do Hyperledger Fabric.

Os aplicativos Node.js que utilizam o HFC SDK podem ser usados para executar as tarefas de rede a seguir:

  • Registre e inscreva usuários com segurança. Um administrador do aplicativo da Web com autoridade de registrador pode registrar e inscrever dinamicamente usuários que se autenticaram no aplicativo da Web.
  • Envie transações à rede de blockchain (implemente, chame e consulte). Todas as transações são anônimas, confidenciais e não vinculáveis sem a autoridade de auditor.
  • Armazene as chaves e os certificados privados sensíveis em qualquer local, tal como um banco de dados fora da blockchain. Isto requer a implementação de uma interface de armazenamento de valor de chave simples.

Opção 1: gravando aplicativos clientes usando o Bluemix

Siga essas instruções para usar o HFC para interagir com uma rede de blockchain no Bluemix:

Opção 2: gravando aplicativos clientes usando o Docker

Se você estiver usando as imagens do Docker, siga estas etapas para usar o HFC SDK:

Monitore e gerencie sua rede e aplicativos de blockchain

Um monitor de painel fornece uma ferramenta fácil de usar para examinar uma rede de blockchain. Com o monitor de painel no Bluemix, é possível visualizar informações de rede sobre peers, logs, estado do livro razão, APIs e cadeia de códigos.

Opção 1: monitoramento usando o Bluemix

Opção 2: monitoramento usando o Docker

O Blockchain Explorer fornece uma interface com o usuário para desenvolvedores usando as imagens do Hyperledger Docker. Ele está sob desenvolvimento no momento.

Participe e ajude a construir o Hyperledger Fabric

Contribuições para o Hyperledger Project são bem-vindas de várias formas. O Hyperledger Slack é usado para comunicação, e os Google Hangouts são usados para compartilhamento de tela entre desenvolvedores. O planejamento e a priorização do desenvolvimento são feitos em JIRA, e discussões e decisões de execução mais longas vão para a lista de e-mails.

Os mantenedores do Fabric são responsáveis por revisar e mesclar todas as correções enviadas para revisão. Eles guiam a direção técnica geral dentro das diretrizes estabelecidas pelo Technical Steering Committee (TSC) do Hyperledger Project.

Obtenha ajuda e suporte

Eis o local para obter suporte e respostas para suas perguntas.

  1. Se estiver usando o serviço de Blockchain no Bluemix:
    Inicie na página Suporte e Problemas Conhecidos. Além de quaisquer anormalidades atuais com o serviço, você também encontrará notas sobre a liberação para novos compromissos do código de Hyperledger Fabric.
  2. Se você estiver usando imagens da comunidade do Hyperledger Fabric:
    Procure respostas às perguntas que já foram respondidas ou envie uma nova pergunta em Respostas do dW ou Estouro de Pilha por meio da página de suporte da comunidade Blockchain no developerWorks.
  3. Se você não vir uma resposta à sua pergunta:
    Entre em contato com a equipe de desenvolvimento da Blockchain por meio de questões do GitHubou faça perguntas sobre o código Hyperledger Fabric no canal do Hyperledger Slack.

O que vem a seguir?

Novos recursos na v1.0 do Hyperledger Fabric estão em desenvolvimento, com várias oportunidades para membros da comunidade contribuírem com código e administrarem o Fabric para que se ajustem às necessidades de negócios específicas. Obtenha uma prévia neste vídeo:

Recursos para download

Temas relacionados