Exercício 5

Incorporaremos em nosso contrato um evento que informará quando o valor da variável storedInfo for alterado, indicando qual era o valor original e qual é o novo valor.

Passos a seguir:

  1. Programe o contrato no Remix.

  2. Deploye em uma rede de teste do Ethereum, como Sepolia.

  3. Publique e verifique o contrato utilizando um explorador de blocos.

  4. Interaja com o contrato através do explorador de blocos, modificando o valor de storedInfo.

  5. Verifique nas transações do contrato no explorador de blocos que a função setInfo foi executada e na aba de eventos, verifique se um evento foi gerado.

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

/// @title Conceitos: evento
/// @author Solange Gueiros
contract EventEmitter {
    string private storedInfo;
    // Define um evento para informar uma mudança em storedInfo
    event InfoChange(string oldInfo, string newInfo);

    // Emite o evento quando o valor de storedInfo vai ser alterado
    function setInfo(string memory myInfo) external {
        emit InfoChange(storedInfo, myInfo);
        storedInfo = myInfo;
    }

    function getInfo() external view returns (string memory) {
        return storedInfo;
    }   
}

Last updated