menu
Tecmundo
Software

Como criar um smart contract

Tutorial simples para criar seu primeiro smart contract usando o VS Code

28/08/2020, às 04:30

Como criar um smart contract

Fonte:

Imagem de Como criar um smart contract no tecmundo

Neste tutorial, apresentaremos o passo a passo para criar um chaincode no Hyperledger Fabric 1.4.0 usando o VS Code. Como exemplo, faremos um sistema de controle de livros de bibliotecas pertencente a uma universidade.

1. Verifique os requisitos mínimos

  • Windows 10, principais distribuições do Linux ou versões mais recentes do macOS

  • VS Code 1.36

  • Node.js 8

  • NPM 5 (já incluso no Node.js)

  • Docker v17

  • Docker Composer v.1.14

  • 2. Instale o plugin IBM Blockchain Plataform

    IBM(Fonte: Victor Shinya/Reprodução)

    • Após abrir o VS Code, clique no ícone de extensões;    

  • Procure e instale o plugin IBM Blockchain Plataform;

  • Reinicie o VS Code.

  • 3. Crie o projeto

    IBM(Fonte: Victor Shinya/Reprodução)

    • Clique no símbolo do IBM Blockchain Plataform no painel;

  • Clicando nos três pontinhos, selecione “Create Smart Contract Project”;

  • Escolha “JavaScript”;

  • Como asset, defina “University”;

  • Salve o projeto;

  • Escolha como o novo projeto será aberto.

  • 4. Configure o chaincode

    IBM(Fonte: Victor Shinya/Reprodução)

    • O projeto abre com uma estrutura padrão de aplicação Node;

  • Selecione, na pasta “lib”, “university-contract.js” (que é o chaincode);

  • Será aberto um modelo de código com cinco operações.

  • 5. Adapte as operações

    IBM(Fonte: Victor Shinya/Reprodução)

    • Substitua toda “universityId” por “CNPJ”, para permitir identificar cada universidade na rede;

  • Em “exist”, substitua “value” por “universityName”;

  • Em “asset”, substitua “value” por “cnpj: cnpj, name: universityName, library []”, para relacionar a universidade a um banco de dados de livros;

  • Na operação “read”, substitua “pubState” por “getState”, para que seja mostrada a informação mais atualizada;

  • Na operação “update”, para atualizar os livros da biblioteca sem perder o histórico, acrescente os comandos:

  • var university = await (ctx.stub.getstate(cnpj));

    university = JSON.parse: university);

    const asset = { cnpj: cnpj,

    name: universityName,

    library: university.library }

    6. Gere o chaincode

    IBM(Fonte: Victor Shinya/Reprodução)

    • Clique nos três pontinhos e selecione “Package a Smart Contract Project”;

  • Após gerar o university-chaincode@0.0.1, provisione uma rede local clicando em “Local Fabric...”;

  • Para instalar o chaincode, clique em “Smart Contracts e install”;

  • Depois, instancie o mesmo chaincode clicando em “Instantiale”.

  • 7. Crie um smart contract

    IBM(Fonte: Victor Shinya/Reprodução)

    • Em “Fabric Gateways”, clique em “local_fabric, mychannel, university-chaincode@0.0.1”; depois, em “createUniversity”; por fim, em “Submit Transaction”;

  • Gere uma id em string para universidade, como [“12.234.5679/0001-01”, “Nome da Universidade];

  • Dê um duplo Enter e, pronto, foi gerado um smart contract.

  • ...

    Quer ler mais conteúdo especializado de programação? Conheça a IBM Blue Profile e tenha acesso a matérias exclusivas, novas jornadas de conhecimento e testes personalizados. Confira agora mesmo, consiga as badges e dê um upgrade na sua carreira!

    info
    Conteúdo patrocinado produzido pelo TecMundo.