Simple state

El estado es donde el contrato inteligente guarda y recupera datos. En cierto sentido, el estado del contrato inteligente funciona de manera similar a una capa de interacci贸n de base de datos en una aplicaci贸n tradicional.

El m茅todo m谩s simple de representar el estado implica almacenar un solo elemento. Por ejemplo, en el contrato cw20, TokenInfo se registra durante la inicializaci贸n del contrato.

Primero, se declara un tipo TokenInfo en state.rs:

#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema, Debug)]
#[serde(rename_all = "snake_case")]
pub struct TokenInfo {
  pub name: String,
  pub symbol: String,
  pub decimals: u8,
  pub total_supply: Uint128,
  pub mint: Option<MinterData>,
}

Luego se inicializa el almacenamiento:

pub const TOKEN_INFO: Item<TokenInfo> = Item::new("token_info");

En el contrato, vemos en la funci贸n de creaci贸n de instancias c贸mo se pueden guardar datos en esto:

let data = TokenInfo {
  name: msg.name,
  symbol: msg.symbol,
  decimals: msg.decimals,
  total_supply,
  mint,
};
TOKEN_INFO.save(deps.storage, & data) ?;

Puede obtener el contrato base cw20 eligi茅ndolo como plantilla inicial al configurar el proyecto a trav茅s de la CLI de Archway.

Last updated