👷#[ink(constructor)]
Aplicável a um método.
Indica um método (ou vários métodos) para a struct de armazenamento ink! como construtor, tornando-o disponível para a API para instanciar o contrato.
Deve haver pelo menos um método #[ink(constructor)]
definido.
Métodos marcados com #[ink(constructor)]
são especiais, pois são despacháveis ao instanciar o contrato. Um contrato pode definir vários construtores desse tipo, o que permite aos usuários do contrato instanciar o contrato de várias maneiras diferentes.
Exemplo
#[ink::contract]
mod erc20 {
#[ink(storage)]
pub struct Erc20 { ... }
impl Erc20 {
#[ink(constructor)]
pub fn new(initial_supply: Balance) -> Self { .. }
#[ink(constructor)]
pub fn total_supply(&self) -> Balance { .. }
// etc.
}
}
Last updated
Was this helpful?