Tutorial para criar solução Blockchain no Hyperledger Composer



Devido às demandas modernas de negócios, a IBM juntou-se a outras empresas para desenvolver uma rede de blockchain de negócios de código aberto chamada projeto Hyperledger Fabric que está tocando o céu. Devido à arquitetura modular, chaves digitais e recuperação de dados sob demanda, o hyperledger fabric é considerado a base para os futuros aplicativos baseados em blockchain da arquitetura modular do mundo. Mais benefícios do Hyperledger Fabric são fornecidos abaixo para facilitar sua interpretação.

Estrutura modular

O Hyperledger Fabric facilita para um desenvolvedor criar seus próprios componentes conectáveis ​​diretamente na arquitetura blockchain. Um desenvolvedor poderá introduzir novos módulos sempre que precisar ou desejar. E eles não precisam construir o sistema desde o início novamente. A empresa de soluções de TI da Syncrasy Tech pode ajudá-lo no desenvolvimento de blockchain e nos serviços de desenvolvimento do Salesforce.

PKC11 Teclas digitais

O Hyperledger Fabric apresenta PKC11 modificado e não modificado para a geração de chaves digitais. Essas chaves aprimoram particularmente a proteção de dados. Pense em uma empresa de hipoteca usando a tecnologia blockchain. Não se espera que uma hipoteca seja exposta publicamente. Exige que as partes se verifiquem na rede para garantir a autenticidade. Com uma estrutura modular de blockchain como o Hyperledger Fabric, você pode fornecer dados suficientes de segurança necessários nas seções de dados confidenciais.

Recuperação de dados quando necessário

Os canais do Hyperledger Fabric não receberam a importância que merecem até agora. Os canais permitem o particionamento de dados, o que torna possível manter os dados seguros que deveriam pertencer a uma estrutura de blockchain. Isso é útil quando a empresa financeira pensa em adotar blockchain, mas os concorrentes veem os dados da empresa. Com a ajuda de canais no Hyperledger Fabric, você pode armazenar dados confidenciais em partições de dados. Blockchains tradicionais / públicos não possuem esse recurso conveniente.

Confiança indubitável

O Hyperledger Fabric gerencia transações de maneira diferente e eficiente. Diminui o número necessário de camadas de confiança e verificações pelas quais uma transação passa. Isso facilita as transações, são realizadas mais rapidamente e sem problemas em qualquer plataforma digital.

O Hyperledger Fabric é um tópico extenso, mas para os desenvolvedores interessados ​​no desenvolvimento de aplicativos blockchain achará este post útil.

Aqui estou falando sobre como começar com o Hyperledger Composer.

O Hyperledger Composer é minha ferramenta favorita para o desenvolvimento de aplicativos blockchain. Construído sobre ferramentas, incluindo node.js, CLI, npm e editores, o hyperledger compositor oferece aplicativos de amostra e ferramentas para testar o processo do DevOps para criar aplicativos blockchain.

O Hyperledger Composer pode ser instalado executando o seguinte script:

cd $HOME curl -O -k https://hyperledger.imtqy.com/composer/latest/prereqs-ubuntu.h chmod u+x prereqs-ubuntu.sh 

Execute o seguinte comando para iniciar o processo de instalação:

 sudo apt-get install -y software-properties-common 

O processo de instalação requer componentes prontos:

Ferramentas CLI

 npm install -g composer-cli@0.20 


Parque infantil

 npm install -g composer-playground@0.20 

Tecido Hyperledger

 mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers 

IDEs

Você pode usar muitos IDEs com o Hyperledger Composer. Os dois tipos mais comuns são Atom e VS Code IDEs.

Atom IDE

Faça o download do Atom IDE @ atom.io

O Atom é um editor de texto gratuito e de código aberto IDE que ajuda você a escrever código mais rapidamente com o recurso de conclusão automática inteligente. Ele também suporta edição em várias plataformas, permitindo que o Atom funcione em diferentes sistemas operacionais. Você pode dividir códigos em vários painéis para comparar e editar códigos em arquivos diferentes.

Etapas para adicionar uma pasta de projeto ao Atom:

Vá para o menu Arquivo.

Clique no menu Adicionar projeto ou pressione (ALT + CTRL + O).

Especifique o caminho da sua pasta e selecione a pasta.

Crie o 'Arquivo' clicando na opção de menu 'Novo arquivo'.

É assim que um arquivo é aberto no Atom:



Etapas para executar um arquivo HTML no Atom:

Clique com o botão direito do mouse no arquivo aberto.

Abra o "Arquivo" no navegador da web.

Abra o "Script-Runner" para executar scripts no Atom IDE.

(Nota: Ele suporta CoffeeScript, Python, JavaScript, Bash e Ruby)

Código VS

Faça o download do IDE do Visual Studio Code @ code.visualstudio.com/download

O Visual Studio oferece suporte aos recursos de um editor de código-fonte com preenchimento de código Intellisense, ferramentas, depuração com pontos de interrupção, pilhas de chamadas e um console interativo. O código VS do Hyperledger Composer ajuda você a se tornar mais produtivo com seu destaque de sintaxe, fácil personalização, mapeamentos de atalhos de teclado com contribuição da comunidade, seleção de caixas e recuo automático.

Vou orientá-lo nas etapas de criação de uma solução blockchain usando o Hyperledger Composer.

As etapas a seguir fornecerão uma visão geral das técnicas a serem aplicadas ao seu próprio trabalho de desenvolvimento:

O Hyperledger Composer trabalha para o conceito-chave de definição de rede de negócios (BND) que ajuda você a criar sua solução blockchain da maneira mais fácil possível.

Etapa 1

O primeiro passo é usar o gerador Yeoman para criar a estrutura de uma rede comercial. Use este comando para concluir a etapa:

 yo hyperledger-composer:businessnetwork 

Para a execução do comando, você precisará do nome da rede comercial, nome do autor, endereço de e-mail do autor. Basta inserir a rede tutorial.

Enter - Apache 2.0 como detalhes de seleção de licença.

Digite o espaço para nome seguindo este comando;

 rg.example.mynetwork 

Etapa 2

A segunda etapa é definir uma rede comercial composta por:

  • Participantes
  • Ativos
  • Transações
  • Regras de controle de acesso
  • Eventos e consultas

Abra o arquivo de modelo

 org.example.mynetwork.cto 

Substitua o conteúdo pelos seguintes códigos:

 /** * My commodity trading network */ namespace org.example.mynetwork asset Commodity identified by tradingSymbol { o String tradingSymbol o String description o String mainExchange o Double quantity --> Trader owner } participant Trader identified by tradeId { o String tradeId o String firstName o String lastName } transaction Trade { --> Commodity commodity --> Trader newOwner } 

Salve todas as alterações feitas por você com o seguinte comando:

 org.example.mynetwork.cto 

Etapas para adicionar lógica de transação JavaScript

O arquivo de função do processador de transações contém a lógica JavaScript que executa as transações fornecidas no arquivo de modelo.

Etapa 1

Abra o arquivo de script logic.js.

Etapa 2

 Replace the whole content by following the code: /** * Track the trade of a commodity from one trader to another * @param {org.example.mynetwork.Trade} trade - the trade to be processed * @transaction */ async function tradeCommodity(trade) { trade.commodity.owner = trade.newOwner; let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity'); await assetRegistry.update(trade.commodity); } 

Por fim, salve as alterações em

 logic.js 

Etapas para adicionar controle de acesso à sua solução Blockchain:

Etapa 1
Use este arquivo permissions.acl e substitua as regras de controle da seguinte maneira:

 /** * Access control rules for tutorial-network */ rule Default { description: "Allow all participants access to all resources" participant: "ANY" operation: ALL resource: "org.example.mynetwork.*" action: ALLOW } rule SystemACL { description: "System ACL to permit all access" participant: "ANY" operation: ALL resource: "org.hyperledger.composer.system.**" action: ALLOW } 

Etapa 2
Salve as alterações feitas em permissions.acl.

É assim que você pode definir a rede comercial para sua solução blockchain.
Vou lhe dizer como essa rede comercial deve ser empacotada em um arquivo .bna de arquivo de rede de negócios implementável.

Use o diretório tutorial-network e execute o seguinte comando:
arquivo de compositor criar -t dir -n

Após a execução correta do comando, você verá um arquivo de rede comercial tutorial-network@0.0.1.bna que foi criado no diretório de rede do tutorial.

Etapas para a implantação da rede comercial:
Etapa 1

Na rede tutorial, execute o comando followinacg:

 omposer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna 

Etapa 2

Para iniciar sua rede comercial, use este comando:

início da rede do compositor --networkName tutorial-network --networkVersion 0.0.1 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin @ hlfv1 --file networkadmin.card

Etapa 3

Importe a identidade do administrador da rede seguindo o comando:

 composer card import --file networkadmin.card 

Etapa 4

Para verificar se a rede comercial foi implantada com sucesso ou não, use o seguinte comando:

 composer network ping --card admin@tutorial-network 

Etapas para gerar o servidor da API REST

Também é importante adicionar uma camada de abstração de idioma neutro à sua solução blockchain. A API REST pode gerar essa camada para seu aplicativo blockchain.

Etapa 1

Na primeira etapa, você precisa criar a API REST navegando para o diretório tutorial-network e executando o seguinte comando:

 composer-rest-server 

Etapa 2

Em seguida, insira o nome do cartão usando:

 admin@tutorial-network 

Etapa 3

Na próxima etapa, use "nunca use namespaces" quando for solicitado a usar namespaces na API REST gerada.

Etapa 4

Selecione a opção "Não" quando solicitado a proteger a API

Etapa 5

Selecione a opção "Sim" quando solicitado a ativar a opção de publicação de eventos

Etapa 6

Mais uma vez, selecione a opção "Não" quando solicitado a usar o TLS Security.

Etapa 7

Você verá a API gerada conectada à sua rede comercial de blockchain.

Como desenvolver aplicativos Angular 4 no Hyperledger Composer?

Etapa 1

Use o diretório tutorial-network e execute o comando:

 yo hyperledger-composer:angular 

Etapa 2

Ligue a corrida
rede comercial pressionando “Sim” na caixa de comando.

Etapa 3

Para sua placa de rede comercial, digite o comando:

 admin@tutorial-network 

Etapa 4

Conecte-se à API REST selecionando "Conectar-se à API REST existente" e vá mais longe.

Etapa 5

Para o endereço do servidor REST, selecione a opção host local e insira 3000 para a porta do servidor.

Etapa 6

Selecione a opção "namespaces are not used" e vá mais além.

Etapa 7

Execute o aplicativo usando o npm start.

Etapa 8

Você terá seu aplicativo Angular 4 pronto na API REST e poderá verificar admin @ tutorial-network.

Ao colocar os pontos acima em perspectiva, posso resumir o post sobre três pontos principais necessários para criar uma solução blockchain no Hyperledger Fabric Composer. Esses pontos são: rede blockchain de malha, implantar solução blockchain na rede e servidor API REST de malha. E os desenvolvedores devem sempre lembrar o princípio do design de aplicativos complicado. E igualmente importante, você precisa encontrar um desenvolvedor competente e experiente que possa lhe trazer bons resultados.

Obrigado pela leitura e agradecemos seus comentários e sugestões.

Source: https://habr.com/ru/post/pt468641/


All Articles