Programação
-
-
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.
-
-
I) Descrever sucintamente cada etapa da atividade em um arquivo pdf1) Carregar o código em https://github.com/joueyama/blockchain2/blob/main/sensitiveData.sol2) Executar o contrato3) Trocar de conta para verificar que o código não permite alterar dados sensíveis a partir de outra conta4) Passar o endereço do contrato para que um colega do lado o executeII) Adicionar o jocoin.sol com as seguintes funcionalidades e enviar o novo contrato (.sol) no mesmo pdf da atividade I acimaa) O investidor só pode vender a quantidade de jocoin que tiver disponívelb) Apenas o próprio investidor pode executar as transaçõesc) A compra é limitada à quantidade máxima disponível que é de 1.000.000 jocoinsd) Além disso, ele/ela pode vender jocoins até 90% do seu saldoNos testes:•Passar o contrato para outro investidor e executar a partir dele/dela•Isso pode ser executado informando o endereço do contrato no “At Address”•Passar o endereço do contrato para o colega para que ele manipule o mesmo contrato “deployed”
-
-
-
Instruções para a submissão do seminário:
a) Envie os slides da apresentação conforme o modelo em anexo.
b) Grave uma apresentação de aproximadamente 10 minutos para cada membro da equipe.
c) Ative a câmera e inclua o link do vídeo da apresentação no último slide.
d) Forneça sua autoavaliação.
e) Anexe os slides da apresentação (junto com o link da gravação e a autoavaliação).
f) Por favor, assegure-se de cumprir o prazo até 10/10/2022.
Importante: Não se esqueça de incluir os slides da apresentação com o link da gravação e a autoavaliação. Agradecemos pela colaboração!
A aula do dia 10/10 será dedicada à gravação e submissão dos seminários por cada equipe.
-
-
-
Por favor, desenvolva as questões abaixo e responda-as em um arquivo PDF:
Observação: O professor compreende que alguns alunos podem ter menos experiência em programação, por isso é solicitado que o aluno responda dentro do prazo, até onde for possível.
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 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 para a venda, de modo que a corretagem zero seja aplicada somente quando o investidor mantiver o valor adquirido por 30 dias antes de vendê-lo. Caso a venda ocorra antes desse período, será aplicada uma corretagem de 1% sobre o valor.
-
-
1) Implementar os métodos padrões do Token ERC20 no jocoin:
Name,
Symbol,
Total Supply,
BalanceOf,
Transfer.
Lembrando que muitos dos métodos já estão parcialmente implementados. Favor consultar o link https://eips.ethereum.org/EIPS/eip-20
-
-
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 (b), usar códigos de comunicação de redes TCP disponíveis em https://github.com/joueyama/socket.gite) O endereço de destino pode ser o IP 127.0.0.1 (loopback - localhost)
f) No código da blockchain, o aluno deverá modificar o código de forma que o grau de dificuldade do PoW seja um parâmetro de entrada a ser informado.
g) Submeter os códigos implementados
-
-
-
1) Leia o texto sobre DREX e IA disponível no seguinte link: https://cutt.ly/bwYiFsP1. É importante ressaltar que esse texto serve como base, mas o aluno pode utilizar outras fontes para responder às questões abaixo. Solicita-se que todo o material bibliográfico seja citado adequadamente.2) Explique o papel da blockchain e da IA nas futuras aplicações financeiras do Brasil.3) Discuta a utilização da IA nessas aplicações e descreva um exemplo prático de como a IA pode ser aplicada na blockchain no contexto das Fintechs.4) Quais são os desafios computacionais enfrentados pelos sistemas financeiros diante das novas demandas? Um exemplo de discussão é a escalabilidade, mas esse ponto fica a cargo do aluno.5) Você acredita em sistemas descentralizados? Por quê?
-
-
-
1) O professor executou a prática com Hyperledger Besu
2) As instruções da prática estão no link abaixo
https://besu.hyperledger.org/private-networks/tutorials/quickstart
3) Solicita-se que o aluno faça esta prática sem contar presença e nota.
-