Conceptos básicos de economía
8 ejemplos para empezar con Economía en Agave 4.1.1: 5 básicos y 3 intermedios.
Prerrequisitos
solana config set --url devnet
npm install @solana/kit@7.0.0Ejemplos básicos
1. Inspeccionar vía RPC
import { createSolanaRpc } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const slot = await rpc.getSlot().send();
console.log(slot);- Confirma la conectividad RPC y la accesibilidad del clúster
- Usa devnet antes de la integración con mainnet-beta
2. Verificación con CLI
solana slot
solana balance- Solana CLI 3.0.10 comparte la configuración con el proveedor de Anchor
- Coincide la URL de
solana config getcon el RPC del cliente
3. Leer registros en la cadena
solana confirm -v <SIGNATURE>- Los registros exponen la salida
msg!del programa y las CU consumidas - Decodifica errores antes de reintentar transacciones
4. Simular primero
const sim = await rpc.simulateTransaction(encodedTx, { sigVerify: false }).send();
console.log(sim.value.err, sim.value.logs);- Preflight detecta la mayoría de los fallos sin tarifas de aterrizaje
- Esencial durante el desarrollo de programas con Anchor 0.32.1
5. Hook del programa Anchor
use anchor_lang::prelude::*;
#[program]
pub mod example {
use super::*;
pub fn touch(_ctx: Context<Touch>) -> Result<()> { Ok(()) }
}
#[derive(Accounts)]
pub struct Touch {}- Los programas se ejecutan en Sealevel con listas explícitas de cuentas
- Lógica sin estado + cuentas de datos separadas
Ejemplos intermedios
6. Crear transacción v0
import { createTransactionMessage, pipe } from "@solana/kit";
const msg = pipe(createTransactionMessage({ version: 0 }), (m) => m);- Las transacciones v0 admiten tablas de búsqueda de direcciones (address lookup tables)
- Prefiere los constructores de transacciones de @solana/kit 7.0.0
7. Establecer presupuesto de cómputo
# El cliente añade instrucciones de ComputeBudgetProgram para el límite de CU y el precio- Solicita suficientes CU bajo carga
- Las tarifas de prioridad usan microlamports por CU
8. Probar localmente
npx surfpool@0.12.0 run anchor test- Surfpool proporciona validación local compatible con Agave
- LiteSVM 0.6.x es adecuado para pruebas unitarias ligeras
Versiones de la pila: Esta página se escribió para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 y LiteSVM 0.6.x.