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.
Desafio
FácilDeclare 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.
}
}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
2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos Reutilizáveis6Estado do Contrato
Variáveis de EstadoLeitura e Escrita do EstadoGetters Públicos de EstadoConstantesContador CompartilhadoPratique por conta própria: Playground de Solidity