counter
Ejemplo de un contador
stellar contract init counter --name counter#![no_std]
use soroban_sdk::{contract, contractimpl, Env, Symbol, symbol_short, log};
const COUNTER: Symbol = symbol_short!("COUNTER");
#[contract]
pub struct CounterContract;
#[contractimpl]
impl CounterContract {
pub fn add_to_counter(env: Env, increment: u32) {
let mut count: u32 = env.storage().instance().get(&COUNTER).unwrap_or(0);
log!(&env, "current count: {}", count);
count += increment;
env.storage().instance().set(&COUNTER, &count);
env.storage().instance().extend_ttl(50, 100);
}
pub fn inc_counter(env: Env) {
let mut count: u32 = env.storage().instance().get(&COUNTER).unwrap_or(0);
count += 1;
env.storage().instance().set(&COUNTER, &count);
env.storage().instance().extend_ttl(50, 100);
}
pub fn get_counter(env: Env) -> u32 {
let count: u32 = env.storage().instance().get(&COUNTER).unwrap_or(0);
count
}
}
Análisis del código:
🛠 Explicación de las funciones
1️⃣ add_to_counter(env: Env, increment: u32)
add_to_counter(env: Env, increment: u32)2️⃣ inc_counter(env: Env)
inc_counter(env: Env)3️⃣ get_counter(env: Env) -> u32
get_counter(env: Env) -> u32📌 Resumen




Last updated
Was this helpful?

