💽#[ink(storage)]

Aplicável em definições de structs.

Aplicado em tipos de struct para sinalizá-los como a definição de armazenamento do contrato. Pode haver apenas uma definição de armazenamento ink! por contrato.

Deve haver exatamente uma struct #[ink(storage)].

Esta struct define o layout do armazenamento em que o contrato inteligente ink! opera. O usuário é capaz de usar uma variedade de recursos incorporados, combiná-los de várias maneiras ou até mesmo fornecer suas próprias implementações de estruturas de dados de armazenamento.

Para mais informações, visite a documentação da crate ink_storage.

Exemplo

#[ink::contract]
mod flipper {

    #[ink(storage)]
    pub struct Flipper {
        value: bool,
    }

    impl Flipper {
        #[ink(constructor)]
        pub fn construct() -> Self { Flipper { value: false } }

        #[ink(message)]
        pub fn message(&self) {}
    }
}

Last updated

Was this helpful?