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.
-
-
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
-
-
-
-
-
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
-
-
-
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
-
-
-
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
-
-
-
1) Escolher um artigo da lista abaixo e resumir a sua principal contribuição
2) Submeter o resumo em pdf aqui no Edisciplinas
Lista de artigos:
- Blockchains and Smart Contracts for the Internet of Things
- DOI: 10.1109/ACCESS.2016.2566339
- Citation: 2985
- An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends
- DOI: 10.1109/BIGDATACONGRESS.2017.85
- Citation: 2214
- Decentralizing Privacy: Using Blockchain to Protect Personal Data
- DOI: 10.1109/SPW.2015.27
- Citation: 1956
- Majority Is Not Enough: Bitcoin Mining Is Vulnerable
- DOI: 10.1007/978-3-662-45472-5_28
- Citation: 1906
- Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts
- DOI: 10.1109/SP.2016.55
- Citation: 1877
- Blockchain challenges and opportunities: a survey
- DOI: 10.1504/IJWGS.2018.10016848
- Citation: 1759
- Where Is Current Research on Blockchain Technology?-A Systematic Review
- DOI: 10.1371/JOURNAL.PONE.0163477
- Citation: 1520
- Making Smart Contracts Smarter
- DOI: 10.1145/2976749.2978309
- Citation: 1316
- IoT security: Review, blockchain solutions, and open challenges
- DOI: 10.1016/J.FUTURE.2017.11.022
- Citation: 1308
- On the Security and Performance of Proof of Work Blockchains
- DOI: 10.1145/2976749.2978341
- Citation: 1093
- Blockchains and Smart Contracts for the Internet of Things
-
-
-
1) Instalar as ferramentas necessárias para executar a aplicação em Hyperledger Fabric
2) Executar até a parte do DApp
-