Você está na página 1de 7

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

desenvolvedores
Como configurar uma rede blockchain e começar a codoficar

Nikhil Gupta (negupta@us.ibm.com) 26/Dez/2016


IBM Blockchain Business Development Strategist
IBM

Joshua Horton (joshh@us.ibm.com)


IBM Blockchain Information Developer
IBM

Este guia de iniciação rápida do developerWorks destina-se aos desenvolvedores de


aplicativos que são iniciantes na tecnologia blockchain e desejam configurar rapidamente 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 casos de uso de Blockchain.

Crie seu próximo app com IBM Cloud Lite. É de graça.


Não requer cartão de crédito.
Comece gratuitamente.

Você obtém 2 GB de memória de tempo de execução e contêiner, acesso à provisão de até


10 serviços de nuvem e suporte grátis do help desk! Experimente o IBM Cloud e comece
a construir e testar uma rede blockchain em um clique com o plano Blockchain Starter
Developer.

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

© Copyright IBM Corporation 2016. Todos os direitos reservados. Marcas Registradas


IBM Blockchain 101: Guia de iniciação rápida para Página 1 de 7
desenvolvedores
developerWorks® ibm.com/developerWorks/br/

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.

• Introdução aos livros razão digitais


• IBM Blockchain para desenvolvedores (linha de aprendizagem de 3 cursos)
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.

• Documentação do Hyperledger Fabric


• Whitepaper do Hyperledger

Termos e conceitos de Blockchain


Conteúdo recomendado para desenvolvedores de
Blockchain
Aperfeiçoe suas habilidades em Blockchain com tutoriais, cursos e suporte da comunidade
do developerWorks no centro de recurso do Blockchain @ developerworks .

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.

• Termos e conceitos de Blockchain


• Rede de blockchain e arquitetura 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:

• Serviço de blockchain no IBM Cloud®


• Imagens do Hyperledger Fabric no Docker Hub
• Imagens assinadas e suportadas pela IBM
Opção 1: usando os serviços de Blockchain no IBM Cloud
Com o serviço de Blockchain no IBM Cloud, é possível criar e implementar uma rede de
blockchain privada (um clone do Hyperledger Fabric) com um clique.

IBM Blockchain 101: Guia de iniciação rápida para Página 2 de 7


desenvolvedores
ibm.com/developerWorks/br/ developerWorks®

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 Cloud 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.

• Escolha seu plano e configure uma rede de blockchain usando o IBM Cloud

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:

• Comece validando os peers


• Inicialmente, execute o Hyperledger Fabric no Mac
• Execute o Hyperledger Fabric nativamente no Windows

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).

• Obtenha as imagens suportadas pela IBM para Hyperledger Fabric

IBM Blockchain 101: Guia de iniciação rápida para Página 3 de 7


desenvolvedores
developerWorks® ibm.com/developerWorks/br/

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 IBM Cloud


O IBM Cloud 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.

• Grave a cadeia de códigos usando o IBM Cloud (tutorial do "Hello Chaincode")


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

• Use o monitor do painel da Blockchain


Além do aplicativo "Hello Chaincode", é possível implementar três demos diretamente no IBM
Cloud: 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.

• Aplicativo de amostra no IBM Cloud: Marbles


• Aplicativo de amostra no IBM Cloud: Commercial paper
• Aplicativo de amostra no IBM Cloud: Car lease

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.

• Aplicativo de amostra no Docker: Marbles


• Aplicativo de amostra no Docker: Commercial paper
• Aplicativo de amostra no Docker: Car lease

IBM Blockchain 101: Guia de iniciação rápida para Página 4 de 7


desenvolvedores
ibm.com/developerWorks/br/ developerWorks®

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:

• Desenvolva a cadeia de códigos Java

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 IBM Cloud


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

• Configure o Hyperledger Fabric Client (HFC) SDK para Node.js

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:

• Configure o Hyperledger Fabric Client (HFC) SDK para Node.js

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 IBM Cloud, é 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 IBM Cloud


• Use o monitor do painel no IBM Cloud

IBM Blockchain 101: Guia de iniciação rápida para Página 5 de 7


desenvolvedores
developerWorks® ibm.com/developerWorks/br/

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.

• Use o Blockchain Explorer no Docker

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.

• Participe do Hyperledger Project no Slack


• Guia do Desenvolvedor do Fabric
• Construindo o Fabric

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 IBM Cloud:


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 GitHub ou 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:

IBM Blockchain 101: Guia de iniciação rápida para Página 6 de 7


desenvolvedores
ibm.com/developerWorks/br/ developerWorks®

Para assistir ao vídeo, Construindo uma blockchain para os negócios com o Hyperledger
Project , por favor acesse a versão online deste artigo.
• Saiba mais sobre o Fabric v1.0 e como é possível contribuir com

Temas relacionados: a comunidade Blockchain @ developerWorks Linha de aprendizagem


da Blockchain para developerWorks (3 cursos) Vídeos da Blockchain no developerWorks TV
Hyperledger Project no GitHub Hyperledger Project no Slack

© Copyright IBM Corporation 2016. Todos os direitos reservados.


(www.ibm.com/legal/copytrade.shtml)
Marcas Registradas
(www.ibm.com/developerworks/br/ibm/trademarks/)

IBM Blockchain 101: Guia de iniciação rápida para Página 7 de 7


desenvolvedores

Você também pode gostar