Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Planning Quiz - Grupo de estudos #159

Open
JennyT3 opened this issue May 20, 2024 · 2 comments
Open

Planning Quiz - Grupo de estudos #159

JennyT3 opened this issue May 20, 2024 · 2 comments

Comments

@JennyT3
Copy link

JennyT3 commented May 20, 2024

Blockchain

Qual é o objetivo Proof of Work em blockchain?

Validar transações, fechar um bloco e abrir um novo.
Aumentar a eficiência da rede blockchain.
Determinar o valor de uma criptomoeda.
Controlar o fornecimento total de tokens.

Resposta correta: Validar transações, fechar um bloco e abrir um novo.
#141

Solidity

1. Em Solidity, o que acontece quando uma função marca explicitamente um erro com revert?

a) A execução da função continua normalmente, mas um aviso é gerado no console.
b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas.
c) A função retorna um valor de erro que pode ser tratado pelo contrato chamador.

Resposta correta: b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas.

2. Qual é a principal razão para usar revert em contratos inteligentes?

a) Para interromper a execução do contrato e lançar um erro personalizado.
b) Para forçar uma exceção não tratada e encerrar o contrato abruptamente.
c) Para notificar o usuário sobre erros de execução do contrato.

Resposta correta: a) Para interromper a execução do contrato e lançar um erro personalizado.

3. Quando você pode utilizar require em vez de revert em Solidity?

a) Quando você quer retornar um valor específico ao invés de lançar uma exceção.
b) Quando você quer apenas registrar um aviso no console, mas continuar a execução.
c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.

Resposta correta: c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.

4. O que o modificador required faz em Solidity?
a) Ele verifica se uma variável foi inicializada corretamente antes de permitir a execução de uma função.
b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso.
c) Ele reverte a execução de uma função se uma condição específica não for atendida.

Resposta correta: b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso.

5. Qual é a diferença principal entre required e assert em Solidity?
a) required é usado para verificar condições de entrada em uma função, enquanto assert é usado para verificar invariantes internas do contrato.
b) required é usado para interromper a execução de uma função se uma condição não for atendida, enquanto assert é usado para validar expressões internas do contrato.
c) required e assert são sinônimos em Solidity e podem ser usados de forma intercambiável.

Resposta correta: a) required é usado para verificar condições de entrada em uma função, enquanto assert é usado para verificar invariantes internas do contrato.

6. Quando é mais apropriado usar required em vez de revert em Solidity?
a) Quando a verificação é sobre condições externas, como entradas de usuário.
b) Quando a validação está relacionada a invariantes internos do contrato.
c) Não há diferença significativa entre eles em termos de uso apropriado.

Resposta correta: a) Quando a verificação é sobre condições externas, como entradas de usuário.

7. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array?
Copy
if (index >= mensagens.length) revert ERRORInvalidIndex(index);
a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada.
b) Ignora a condição do índice e continua a execução do contrato normalmente, independentemente do valor fornecido.
c) Retorna um aviso no console se o índice estiver fora dos limites do array, mas não reverte a execução do contrato.

Resposta correta: a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada.

8. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array?
Copy
require(index <= mensagens.length, "INDEX INVALID");
a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID".
b) Continua a execução do contrato mesmo se o índice estiver fora dos limites do array, mas imprime um aviso no console.
c) Retorna um valor booleano indicando se o índice fornecido é válido ou não, sem interromper a execução do contrato.

Resposta correta: a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID".

https://valter-lobo.gitbook.io/fase-1-solidity-basico/v/material-encontro-4/quiz-required-and-revert

DAOs

DeFi

@JennyT3 JennyT3 converted this from a draft issue May 20, 2024
@allluz
Copy link
Member

allluz commented May 20, 2024

@JennyT3 sugiro criar uma issue para cada quiz e especificar a data de publicação - assim temos controle do status do post se está em progresso, agendado ou já foi publicado. Acredito que seja melhor fazer isso no board de Social Media Content e marcar como Source o Youtube. Vamos deixar esse board aqui somente para os vídeos longos. O que acha?

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants