Programação de Smarts Contracts em Blockchain

Forums MATERIAL DE ESTUDO Atividades Programação de Smarts Contracts em Blockchain

  • adm
    02/09/2023 às 7:42 am

    A plataforma Ethereum possui, em sua arquitetura, camadas que definem como os smart contracts (contratos inteligentes) podem tramitar entre diferentes transações no ambiente Ethereum. Pensando em uma estrutura em camadas, cada uma delas possui suas tarefas específicas, a fim de apresentar aspectos de segurança, transparência e operabilidade aos usuários.

    Sobre isso, observe a imagem a seguir:

    #PraCegoVer: a figura apresenta uma visão de alto nível do modo operacional de um smart contract em execução em um computador. No topo da tabela, há o smart contract, seguido da Ethereum Virtual Machine (EVM), com o sistema operacional na sequência e, finalizando, com o hardware.

    Considerando a imagem acima, do modo operacional e das camadas de aplicação da plataforma Ethereum, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).

    I. ( ) A primeira camada trata dos smart contracts (contratos inteligentes) em si, considerada uma camada de alto nível.

    II. ( ) A camada EVM funciona como uma máquina virtual, bastante semelhante ao conceito da JVM (Java Virtual Machine).

    III. ( ) O sistema operacional (SO) deve ser escolhido no início, pois o código escrito de cada contrato só servirá para aquele SO.

    IV. ( ) O hardware é o local físico onde os smart contracts e a Ethereum Virtual Machine serão executados, em diversos SOs.

    Assinale a alternativa que apresenta a sequência correta.

    Resposta Correta:

    V, V, F, V.

    adm
    02/09/2023 às 2:06 pm

    Na linguagem Solidity, os parâmetros funcionam como atributos ou variáveis das funções das quais fazem parte. Sobre as funções, elas podem ter diferentes tipos e modificadores, bastante semelhantes à ideia apresentada no paradigma orientado a objetos, o modelo de programação bastante popular no universo dos softwares.

    A respeito da linguagem Solidity e seu uso de parâmetros, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).

    I. ( ) As funções em Solidity possuem quatro tipos padrões de parâmetros associados a um smart contract.

    II. ( ) Os parâmetros Solidity podem ser divididos entre os tipos: Public, Private, Internal e External.

    III. ( ) Nas funções Solidity, os parâmetros do tipo textual podem ser do tipo primitivo String ou Uint.

    IV. ( ) Address é um tipo de parâmetro usado nas funções Solidity para armazenar o endereço de uma carteira.

    Assinale a alternativa que apresenta a sequência correta.

    Resposta Correta:

    I e IV, apenas.

    adm
    02/09/2023 às 2:06 pm

    Smart Contracts podem ser definidos como programas (softwares) que possuem regras específicas para geração dos contratos. Eles têm suas próprias regras, por isso, seu desenvolvimento requer o uso de variáveis e de funções em linguagem de programação, assim como requer um ambiente de desenvolvimento e implantação (execução).

    Sobre os contratos inteligentes, analise as afirmações a seguir:

    I. Ethereum é uma plataforma para criação de smart contracts (contratos inteligentes) baseados em blockchain.

    II. Solidity é uma linguagem de programação utilizada pela plataforma Ethereum para criação de smart contracts.

    III. A linguagem Solidity é executada através da EVM (Ethereum Virtual Machine), a máquina virtual Ethereum.

    IV. A linguagem Solidity é baseada em três linguagens de programação: Java, Python e PHP.

    Está correto o que se afirma em:

    Resposta Correta:

    I, II e III, apenas.

    adm
    02/09/2023 às 2:07 pm

    Assim como no desenvolvimento de uma aplicação para web, mobile ou desktop, criar um smart contract requer muitos dos procedimentos e das ferramentas necessárias para a criação de um novo software. Alguns desses componentes são fundamentais no desenvolvimento, desde a criação dos scripts até a implantação da aplicação em servidores responsáveis por executar o software criado.

    Com base no apresentado, analise as afirmativas a seguir:

    I. Teste de software faz parte do processo de criação de smart contracts, com uso de frameworks e processos de automatização.

    II. Mocha é um framework criado com a linguagem Solidity e utilizado na prática de testes no desenvolvimento de software.

    III. Node.JS é um pré-requisito para uso do framework Mocha, utilizado como ambiente de testes de aplicações de smart contract.

    IV. O uso de IDEs como ambiente de desenvolvimento é livre, podendo o programador escolher a que achar mais interessante.

    Está correto o que se afirma em:

    Resposta Correta:

    I, III e IV, apenas.

    adm
    02/09/2023 às 2:08 pm

    A nova era do blockchain tem mudado a forma como os dados são gerenciados e armazenados. Pela invenção de moedas digitais como Bitcoin, surgiu o conceito de Web3, com dados compartilhados de maneira descentralizada. Complementando isso, Web3 também é uma biblioteca de criação de aplicações (Web3.js), com diversos componentes interativos. Podemos dizer que a Web3 é uma nova era da web, mudando a forma de enviar documentos e de realizar transações on-line.

    Sobre as definições de Web3, assinale a alternativa correta:

    Resposta Correta:

    a Web3 é composta de várias redes do tipo P2P (ponto-a-ponto).

    adm
    02/09/2023 às 2:08 pm

    Quando um projeto de desenvolvimento de software está em andamento, você precisa estimar que erros podem aparecer em qualquer fase do seu ciclo de vida. Existem grandes chances de que o código-fonte gerado tenha erros de funcionalidade.
    Para a identificação dos problemas antes da ocorrência no ambiente crítico, a realização de testes de software é um pré-requisito.

    Considerando o excerto apresentado, sobre o teste de software no desenvolvimento de aplicações, analise as afirmativas a seguir:

    I. A relação custo-benefício do projeto é uma das principais razões pelas quais as empresas optam por realizar teste de software.

    II. O uso de ferramentas para teste de software agiliza e barateia o custo de reparos futuros das aplicações criadas.

    III. Testes de software podem prevenir que informações e detalhes dos usuários sejam roubados e usados para obter vantagens indevidas.

    IV. Smart Contracts são como softwares convencionais, mas não estão sujeitos a testes de software, como os demais.

    Está correto o que se afirma em:

    Resposta Correta:

    I, II e III, apenas.

    adm
    02/09/2023 às 2:09 pm

    A API Infura foi criada para conectar aplicações, criadas para contratos inteligentes, com plataformas de blockchain, como a Ethereum. Sua infraestrutura de classe mundial visa garantir uma descentralização de aplicativos para atender à demanda do usuário. Essa API fornece conexão a aplicativos de maneira instantânea, agilizando a conexão de dados e as transações de contratos inteligentes.

    A respeito da API Infura e de sua utilidade em contratos inteligentes, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):

    I. ( ) A Infura oferece suporte a interfaces JSON sobre o protocolo HTTPS e Websocket.

    II. ( ) A API Infura fornece conexões a usuários baseadas em solicitações e assinaturas.

    III. ( ) A API Infura foi criada com base em conexão via redes e protocolos descentralizados.

    IV. ( ) Oferece submissão e consultas a transações blockchain de maneira transparente.

    Assinale a alternativa que apresenta a sequência correta.

    Resposta Correta:

    F, V, V, V.

    adm
    02/09/2023 às 2:09 pm

    Desenvolver aplicações web e mobile modernas está intimamente ligado a recursos de acesso a dados. Uma API é uma interface de conexão de dados para aplicações que permitem a interconexão entre diferentes softwares, de maneira bastante prática e transparente. Para o desenvolvimento de contratos inteligentes, podemos utilizar APIs no intuito de conectar uma aplicação à plataforma Ethereum.

    Assinale a alternativa o resultado obtido com uso de APIs na criação de smart contracts:

    Resposta Correta:

    API também é o nome dado a um recurso de softwares utilizados por programadores para criar aplicativos.

    adm
    02/09/2023 às 2:10 pm

    Leia o trecho a seguir, sobre a plataforma Ethereum:

    Ethereum é uma plataforma que permite a programação de aplicativos descentralizados, contratos inteligentes e transações da criptomoeda Ether, além de vários tokens. Tudo isso baseado na tecnologia da Blockchain, que surgiu juntamente com o Bitcoin. Muitos o consideram uma evolução no conceito da tecnologia da Blockchain. Surgida em 2013, Ethereum se tornou a criptomoeda com a segunda maior capitalização do mercado, atrás apenas do Bitcoin.

    Considerando o excerto acima, sobre a plataforma Ethereum e sua estrutura, assinale a afirmativa correta.

    Resposta Correta:

    Ethereum utiliza o mesmo conceito de consenso e rede distribuída do Bitcoin para garantir a segurança do seu sistema.

    adm
    02/09/2023 às 2:11 pm

    Web3.js é uma coleção de bibliotecas que permite que um desenvolvedor interaja com um nó da plataforma Ethereum, seja em um nível local ou remoto, a fim de realizar operações de contratos inteligentes. Possui uma vasta documentação como guia desde a instalação até a execução do web3.js, fornecendo uma documentação de referência da API com exemplos.

    Sobre a Web3.js, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s):

    I. ( ) O Web3.js se conecta ao nó Ethereum usando a web como meio de comunicação.

    II. ( ) A biblioteca Web3.js é uma coleção de módulos que contém funcionalidades para o ecossistema Ethereum.

    III. ( ) Para usar a biblioteca Web3.js, é preciso instalar outros pacotes de funções, como NPM.

    IV. ( ) O comando $node web3.js executa o código desta biblioteca através de um terminal no computador.

    Assinale a alternativa que apresenta a sequência correta.

    Resposta Correta:

    V, V, F, V.