Constructor

Los constructores son un tipo especial de función que se ejecuta solo una vez al implementar un contrato y se pueden usar para inicializar el estado del contrato. Su contrato no debe tener más de un constructor, y esa función constructora debe estar anotada con el atributo #[constructor]. Además, una buena práctica consiste en denominar a esa función constructor.

A continuación se muestra un ejemplo sencillo que demuestra cómo inicializar el estado de un contrato durante la implementación definiendo la lógica dentro de un constructor.

#[starknet::contract] mod ExampleConstructor { use starknet::ContractAddress; #[storage] struct Storage { names: LegacyMap::<ContractAddress, felt252>, } // The constructor is decorated with a `#[constructor]` attribute. // It is not inside an `impl` block. #[constructor] fn constructor(ref self: ContractState, name: felt252, address: ContractAddress) { self.names.write(address, name); } }

Visita el contrato en Voyager o juega con él en Remix.

Last change: 2023-10-12, commit: 90aa7c0