🔭Lendo Valores do Armazenamento

Ler do armazenamento é onde a diversão começa!

Funções do Contrato

Como você pode ver no modelo de contrato, todas as funções do seu contrato fazem parte do módulo do contrato.

impl MyContract {
    // Public and Private functions can go here
}

Funções Públicas e Privadas

Em Rust, você pode criar quantas implementações quiser. Como escolha de estilo, recomendamos separar as definições de implementação para suas funções privadas e públicas:

impl MyContract {
    /// Public function
    #[ink(message)]
    pub fn my_public_function(&self) {
        /* --snip-- */
    }

    /// Private function
    fn my_private_function(&self) {
        /* --snip-- */
    }

    /* --snip-- */
}

Você também pode escolher dividir as coisas da maneira mais clara para o seu projeto.

Observe que todas as funções públicas devem usar o atributo #[ink(message)].

Obtendo um Valor

Nós já mostramos como inicializar um valor de armazenamento no capítulo Armazenando Valores. Obter o valor é tão simples quanto isso:

impl MyContract {
    #[ink(message)]
    pub fn my_getter(&self) -> u32 {
        self.number
    }
}

Em Rust, se a última expressão em uma função não tiver um ponto-e-vírgula, ela será o valor de retorno.

Last updated

Was this helpful?