Mejores prácticas para SPL Token
Reglas para el manejo correcto y seguro de SPL Token en Agave 4.1.1 - desde el lanzamiento de la acuñación hasta las CPIs del programa y las lecturas del cliente.
Cómo usar esta lista
- Aplica A antes de crear cualquier acuñación en mainnet.
- Revisa B antes de desplegar código de bóveda o pago en la cadena.
- Usa C al construir carteras, paneles y indexadores.
A - Lanzamiento de la acuñación
- Elige los decimales una vez al inicializar la acuñación. Inmutable para siempre - iguala a la industria (6 para stablecoins, 9 para tipo SOL).
- Revoca la autoridad de acuñación después de la distribución. Un suministro fijo es la señal de confianza estándar a menos que la inflación esté documentada.
- Revoca la autoridad de congelación para tokens de la comunidad. A menos que el cumplimiento requiera congelación, los titulares no deben enfrentar congelaciones de cuenta.
- Documenta públicamente las transacciones de autoridad. Los indexadores y exploradores deben coincidir con tus anuncios.
- Verifica la clave pública de acuñación en la cadena antes de la comercialización. Los errores tipográficos en las URL causan pérdidas irreversibles para el usuario.
B - Programas en cadena
- Usa
transfer_checkedcon los decimales de la acuñación. Previene confusiones entre decimales en programas multi-activo. - Restringe
token::minten cadaTokenAccount. Evita depósitos en bóvedas de activos incorrectos. - Valida las direcciones ATA mediante derivación. No confíes ciegamente en las claves públicas de cuentas de token proporcionadas por el usuario.
- Firma las CPIs de bóveda PDA con
new_with_signer. La falta de semillas es el principal fallo en las transferencias de bóveda. - Usa
token_interfaceal aceptar Token-2022. La restricción clásica del programaTokenrechaza las acuñaciones con extensiones. - Rechaza transferencias/acuñaciones de cantidad cero. Desperdicia CU y confunde los análisis.
C - Clientes y Operaciones
- Convierte las cantidades de la interfaz de usuario con matemáticas BigInt/string. Nunca
float * 1e6para cantidades de pago en producción. - Lee los decimales desde el RPC de acuñación, no desde constantes. Las aplicaciones multi-token necesitan decimales por acuñación.
- Financia las ATAs de destinatario (
--fund-recipiento creación idempotente). Las transferencias fallan sin la cuenta de token de destino. - Reutiliza la ATA de WSOL para traders activos. Evita la rotación repetida de alquiler de envoltura.
- Muestra cantidades brutas y de interfaz de usuario en herramientas de administración. Ayuda a depurar incidentes de decimales.
- Revoca las aprobaciones de delegados obsoletas después de los swaps DeFi. Reduce el riesgo de drenaje de billetera.
Preguntas frecuentes
¿Cuál es el paso de lanzamiento más importante?
Revoca la autoridad de acuñación después de la acuñación final, si se promete un suministro fijo.
¿Deben los programas usar transfer o transfer_checked?
transfer_checked en todos los programas de Anchor que manejan múltiples acuñaciones.
¿Cómo verifico si un token es seguro?
Lee las autoridades de acuñación en la cadena, el suministro y el ID del programa - nunca solo las insignias de la interfaz de usuario.
¿Debo subsidiar la creación de ATA?
Sí, para la incorporación de consumidores cuando los usuarios no tienen SOL para el alquiler - presupuesta explícitamente.
¿Token clásico o Token-2022 para nuevos fungibles?
Token-2022 solo cuando necesites extensiones; Token clásico tiene la mayor compatibilidad hoy en día.
¿Cómo pruebo los flujos de tokens?
Surfpool 0.12.0 o LiteSVM 0.6.x con acuñaciones de devnet antes del lanzamiento en mainnet.
¿Qué pasa con SOL envuelto?
Siempre sync_native después del depósito de lamports; desempaqueta el polvo después de DeFi.
¿Cómo rastrean los indexadores los saldos?
Analiza las instrucciones del programa Token más una reconciliación periódica de getTokenAccountsByOwner.
¿Puedo actualizar los parámetros de acuñación?
Los decimales y el programa son fijos - planifica la migración como una nueva acuñación + migración de titulares si es necesario.
¿Debería la tesorería usar una autoridad de acuñación multisig?
Sí para las emisiones de DAO - documenta el candado de tiempo y la clave pública en cadena.
Relacionado
- Conceptos básicos de SPL Token - resumen de la sección
- Autoridades - detalles de revocación
- SPL Token en Programas - patrones de CPI
Versiones de la pila: Esta página fue escrita 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.