Menu
Coddy logo textTech

Getters Públicos de Estado

Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 28 de 53.

Adicionar public a uma variável de estado faz com que o compilador gere um getter que pode ser chamado de fora do contrato. Isso não gera um setter. Dentro do contrato, leia a variável diretamente pelo nome. A visibilidade pública controla a interface, não se o armazenamento da blockchain é secreto.

Declare isto no escopo do contrato:

uint256 public score;

Use-a dentro da função main fornecida:

score = 32;
console.log(score);

A declaração uint256 public score cria um getter chamado score para chamadores externos. Dentro de main, o nome simples lê a variável de estado. Escrevê-la ainda exige código do contrato; public não permite que os chamadores atribuam valores diretamente ao armazenamento.

Uma variável de estado public recebe um getter externo, não um setter automático.

challenge icon

Desafio

Fácil

Declare uint256 public total. Defina total como o valor fornecido dentro de main e imprima-o.

Os testes passam argumentos para main nesta ordem: uint256 amount. Cada teste começa com um estado novo do contrato.

Use console.log para a saída solicitada. Imprima somente os valores solicitados, um por linha, sem rótulos extras, a menos que a tarefa os especifique.

Experimente você mesmo

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 amount) external  {
        // Escreva sua solução aqui.
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Solidity