Programação

  • 22/08 Apresentação do curso

  • 29/08 Introdução à blockchain - Parte 2

    • Por favor, envie os slides em formato PPT contendo o tópico do seminário que será apresentado como primeira avaliação. É necessário que os seguintes tópicos abaixo já sejam desenvolvidos e apresentados nos slides, que devem ser submetidos até o prazo desta atividade:

      a) Título

      b) Importância do assunto, isto é, por que o assunto é importante?

      c) Fronteira do conhecimento e grupos que estudam o tema do seminário

      d) O que será abordado horizontalmente e o que será verticalmente no tema do seminário. Entende-se por abordagem horizontal o assunto que será apenas mencionado ou apresentado e por abordagem vertical o assunto que será aprofundado no seminário.
  • 12/09 De-Fi e CBDC

  • 19/09 Apresentação do DE-FI

    • 1) Visualizar os slides em anexo para as instruções de como criar a carteira

      2) Criar a sua própria carteira digital, a qual será necessária para as próximas aulas

      3) Criar múltiplas contas (pelo menos duas)

      4) Efetuar a transferência entre as contas

      5) Acumular Ether necessária para a execução das transações

  • 26/09 Continuação da apresentação do De-FI e Contratos Inteligentes no Remix

  • 03/10 Apresentação dos seminários de De-Fi

  • 10/10 Apresentação do seminário (turma 1)

  • 17/10 Apresentação do seminário (turma 2)

  • 24/10 Prática com contratos inteligentes

    • Desenvolver as questões abaixo e respondê-las em um pdf:

      1) Descrever sucintamente o contrato inteligente jocoin.sol que se encontra no link https://github.com/joueyama/blockchain2/blob/main/jocoin.sol

      A discussão não é limitada a estes aspectos, mas deve incluir

      a) o que ele faz

      b) qual a linguagem

      c) as principais variáveis, os tipos e o que armazena

      2) Descreva duas limitações que o contrato apresenta

      3) Altere o contrato de forma que fique com

      a) seu_nome_coin

      b) taxa de conversão para seu NUSP

      4) O que é um modificador e uma instrução require no Solidity?

      5) Explique cada instrução e particularmente as palavras reservadas do Solidity no código abaixo.

      function addBalance(uint _toAdd) public returns(uint) {

      require(msg.sender == owner);

      balance[msg.sender] += _toAdd; 

      return balance[msg.sender]; 

      }

      6) Carregar o código em https://github.com/joueyama/blockchain2/blob/main/sensitiveData.sol

      a) Executar o contrato

      b) Trocar de conta para verificar que o código não permite alterar dados sensíveis a partir de outra conta

      c) Indicar o erro e citar qual a variável do solidity que permitiu fazer esta verificação

      d) Inserir um print da tela com a mensagem de erro exibida

      e) Fazer o deployment do contrato em uma plataforma pública (como a rede de teste do Goerli) e enviar a chave do contrato a um colega para que ele/ela execute o mesmo contrato

      f) exibir todo o processo com prints de tela

      7) Baixar o código do https://remix-ide.readthedocs.io/en/latest/create_deploy.html

      a) Executar no Remix

      b) Descrever o que é uma função “payable”

      c) O que acontece se transferirmos Ether em uma função “non-payable” (veja a resposta em https://docs.alchemy.com/docs/solidity-payable-functions)

      8) Implemente um modificador com a instrução require para verificar se o investidor tem saldo na venda de jocoin. O modificador deve ser incluído na função sell_jocoins

  • 31/10 Códigos de segurança e blockchain em Python

    • a) Estudar os códigos abordados na aula, os quais estão em https://cutt.ly/2bhziPZ 
      b) Criar uma função separada para cifrar e decifrar mensagens para o cripto_symetric
      c) Enviar hash de mensagens usando via "sockets TCP" (no código cripto_hash)
      d) No exercício acima (2), usar códigos de comunicação de redes TCP disponíveis em https://github.com/joueyama/socket.git
      e) Submeter os códigos implementados

  • 07/11 Padrão ERC-20 (teoria e prática)

  • 14/11 Análise dos artigos em blockchain mais citados

  • 21/11 Prática com Hyperledger Besu

  • 28/11 e 05/12 Projeto II (apresentação em 28/11 e 05/12 e submissão até 05/12)