Guía de Omniston (Python)
Aprende a crear un cliente de terminal basado en Python para intercambiar tokens en la blockchain TON usando el protocolo Omniston. Cubre la configuración de la wallet, la integración de la API y los swaps entre DEX en STON.fi y DeDust.
Esta guía te llevará a crear un basado en terminal cliente de intercambio de tokens usando el Omniston protocolo para intercambiar activos entre diferentes DEXes (STON.fi V1, STON.fi V2, DeDust, etc.). En lugar de una interfaz web y TonConnect, usaremos una billetera local de TON (creada con tonsdk) y enviaremos transacciones mediante Toncenter. La guía es apta para principiantes y asume una experiencia mínima con TON.
Nota: Este inicio rápido usa intencionalmente un CLI de un solo archivo por claridad. Más adelante puedes modularizarlo o empaquetarlo (consulta Aplicación de ejemplo avanzada).
Nota: Para mayor confiabilidad al transmitir transacciones, establece una TONCENTER_API_KEY (consulta Configurar activos y red).
Índice
1. Introducción
En este inicio rápido, construirás un CLI de Python mínimo que puede:
Crear o reutilizar una billetera local de TON (mediante
tonsdk).Cargar la red y la configuración de tokens desde
.envyswap_config.json.Solicitar un RFQ (cotización) de Omniston a través de WebSockets.
Construir una transferencia usando el generador de transacciones de Omniston.
Enviar la transacción a Toncenter para ejecutar el intercambio.
Usarás:
tonsdk– generación de billeteras, firma y BOCs.websockets– para comunicarte con Omniston.python-dotenv– para cargar variables de entorno.API de Toncenter – para transmitir la transacción firmada.
2. Configuración del proyecto
2.1 Crea el espacio de trabajo
2.2 Crea el entorno virtual
2.3 Instala las dependencias
Crea
requirements.txty agrega:Instala los paquetes:
Crea un script CLI de un solo archivo:
3. Configuración de la billetera
El CLI guarda de forma persistente una billetera en data/wallet.json y muestra una frase mnemónica una sola vez—guárdala de forma segura.
3.1 Genera o carga una billetera
En este paso pegarás las definiciones principales y los ayudantes de la billetera (mantenidos en la parte superior de omniston_cli.py).
Consejo: Los bloques de código a continuación son exactamente los de la implementación funcional; pégalos tal cual y en el orden indicado.
3.2 Financia e implementa la billetera
Debes financiar la dirección e implementar el contrato de la billetera antes de enviar un intercambio. Los ayudantes de abajo se encargan de consultar Toncenter y enviar el BOC de inicialización cuando sea necesario.
4. Configurar activos y red
Definirás los extremos RPC y el par de intercambio predeterminado localmente.
4.1 Crea el archivo .env
Crea .env en la raíz del proyecto:
Obtener una clave de API de Toncenter: Usar la API sin una clave de API está limitado a 1 solicitud por segundo. Para obtener límites de velocidad más altos:
Contacta a @toncenter en Telegram
Solicita una clave de API para tu proyecto
Copia la clave y pégala en tu
.envarchivo
TONCENTER_API_KEYes necesario si quieres ejecutar transacciones. Sin él, te enfrentarás a problemas de limitación de velocidad y la transmisión de transacciones fallará.
4.2 Define el swap_config.json
Crea swap_config.json:
Direcciones comunes de tokens:
TON nativo:
EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9cUSDT:
EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDsSTON:
EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO
gasless_mode acepta "GASLESS_SETTLEMENT_UNSPECIFIED", "GASLESS_SETTLEMENT_POSSIBLE", "GASLESS_SETTLEMENT_REQUIRED", o sus equivalentes numéricos 0/1/2.
flexible_referrer_fee permite que Omniston reduzca la comisión real del referidor por debajo de referrer_fee_bps cuando un resolutor puede ofrecer un mejor precio. Déjalo false para imponer la comisión exacta.
5. Implementación del CLI (paso a paso)
Abre omniston_cli.py y pega los bloques de ayudantes restantes a continuación exactamente como se muestran.
5.1 Define los tipos de dominio
5.2 Ayudantes de la billetera
5.3 Ayudantes de Toncenter
5.4 Ayudantes de cotización
5.5 Ayudantes de transferencia
5.6 Punto de entrada del comando
6. Solicitar una cotización
Ejecuta la CLI y sigue la indicación:
Cuando aceptes "¿Solicitar una cotización ahora?", la CLI:
Construirá una solicitud usando tu par y cantidad configurados.
Se conectará a Omniston a través de WebSockets (v1beta7.quote).
Mostrará un resumen legible por humanos (por ejemplo, Intercambiar 0.01 -> 12.34).
Si no se puede producir una cotización a tiempo (predeterminado: ~15s), verás un mensaje de tiempo de espera o de error.
7. Construir una transacción y enviarla
Después de que apruebes el resumen de la cotización, la CLI:
Llama al constructor de transacciones de Omniston (v1beta7.transaction.build_transfer) para obtener mensajes TON.
Firma un mensaje externo con tu wallet.
Envía el BOC resultante a Toncenter.
Importante: El envío automático requiere TONCENTER_API_KEY en .env. Sin ello, la CLI omite la transmisión.
8. Probar tu intercambio
Activa tu entorno virtual y asegúrate de que
.envyswap_config.jsonexistan.Financia tu wallet y ejecuta:
Confirma:
La wallet se crea/carga y se imprime el saldo.
El despliegue se completa (o ya está desplegado).
Se recibe una cotización y se resume.
Al aprobarla, la transacción se envía y ves "Swap enviado.".
Revisa tu wallet en un explorador de TON para confirmar el swap.
Si algo falla, la CLI muestra un mensaje claro (por ejemplo, tiempo de espera, clave API faltante, problema de seqno).
9. Conclusión
Ahora tienes una CLI mínima de Python que:
Genera o reutiliza una wallet TON.
Carga la configuración local de activos y red.
Solicita cotizaciones en tiempo real desde Omniston.
Construye y envía el swap a través de Toncenter.
Ideas para ampliar:
Banderas personalizadas de CLI (cantidad/par) con argparse.
Mejor reporte de errores y reintentos/backoff.
Enlaces al explorador después del envío.
Seguimiento de operaciones con comprobaciones periódicas de estado.
10. Demostración en vivo
Ejecuta la CLI de Python de Omniston directamente en tu navegador a través de Replit:
Abre el proyecto en Replit
Haz un fork en tu cuenta para guardar los cambios
Añade una
TONCENTER_API_KEYen los secretos de ReplitEjecuta
python omniston_cli.pyen la shell de ReplitExplora y modifica el código libremente
11. Uso de agentes de IA para la implementación automatizada
También puedes seguir una guía grabada:
Para los desarrolladores que buscan acelerar su proceso de desarrollo, pueden aprovechar agentes de programación de IA para implementar automáticamente la funcionalidad de intercambio de Omniston descrita en esta guía. Aunque mostramos Gemini CLI en nuestro ejemplo (debido a su generoso plan gratuito), puedes usar cualquier asistente de programación de IA como Claude Code, GitHub Copilot, Cursor Agent, o herramientas similares.
11.1 ¿Por qué agentes de IA?
Los modernos agentes de programación de IA pueden:
Entender documentación compleja e implementar funciones completas
Configurar automáticamente la estructura del proyecto y las dependencias
Gestionar errores comunes de configuración y puesta en marcha
Proporcionar implementaciones funcionales en minutos en lugar de horas
11.2 Configuración con Gemini CLI (ejemplo)
Haremos la demostración con Gemini CLI, pero el enfoque funciona con cualquier agente de IA que pueda leer documentación y ejecutar comandos.
11.2.1 Instalación de Gemini CLI
Instala Gemini CLI siguiendo las instrucciones en: https://github.com/google-gemini/gemini-cli
Autentícate con tu cuenta de Google cuando se te solicite. El nivel gratuito incluye:
60 solicitudes al modelo por minuto
1.000 solicitudes al modelo por día
11.2.2 Configuración de la guía de implementación
Descarga el archivo de guía adecuado desde el gist: https://gist.github.com/mrruby/a6fba69716fc0d5b8eaafd43998b36c0
Para Claude Code: Descarga
AGENTS.mdy cámbiale el nombre aCLAUDE.mdPara otros agentes de IA (Gemini CLI, GitHub Copilot, Cursor, etc.): Usa
AGENTS.mdtal cual
Crea un nuevo directorio para tu proyecto y coloca el archivo de guía dentro de él:
11.2.3 Ejecución de la implementación automatizada
Desde el directorio de tu proyecto, ejecuta Gemini CLI:
Cuando se abra la interfaz de la CLI, escribe:
El agente de IA:
Pedirá permiso para usar comandos como
python3,pip, etc.Creará automáticamente la estructura del proyecto
Instalará todas las dependencias necesarias
Implementa la funcionalidad completa de intercambio
Configurar archivos de configuración
Importante: Después de que la implementación se complete, debes configurar manualmente tu clave API de Toncenter:
Ve a TON Center y obtén tu clave de API
Crea un
.envarchivo en la raíz de tu proyectoAñade tu clave de API:
TONCENTER_API_KEY=tu_api_key_aquiLos agentes de IA no pueden encargarse de este paso, ya que requiere tus credenciales personales de API
Si ocurre algún error durante el proceso:
Simplemente vuelve a pegar el mensaje de error al agente de IA
Analizará y corregirá el problema automáticamente
En la mayoría de los casos, la implementación se completa correctamente de una sola vez
11.3 Uso de otros agentes de IA
El mismo enfoque funciona con otros asistentes de programación de IA:
Claude Code: Descarga
AGENTS.mdy cámbiale el nombre aCLAUDE.md, luego colócalo en tu proyecto y pide a Claude Code que implemente la guíaGitHub Copilot: Usa el
AGENTS.mdarchivo tal cual, abre la guía en tu editor y usa Copilot Chat para implementar paso a pasoCursor Agent: Usa el
AGENTS.mdarchivo tal cual, carga la documentación y solicita la implementación completa mediante el modo agente de CursorHerramientas personalizadas: Cualquier asistente de IA con acceso a archivos y capacidad de ejecutar comandos puede seguir la guía usando el
AGENTS.mdarchivo
Nota: El
AGENTS.mdarchivo contiene instrucciones compatibles con todos los agentes de IA (Gemini CLI, GitHub Copilot, Cursor, etc.). Sin embargo, Claude Code requiere que el archivo se llameCLAUDE.mdpara ser reconocido automáticamente, así que debes renombrarAGENTS.mdtoCLAUDE.mdcuando uses Claude Code.
11.4 Beneficios de usar agentes de IA
Velocidad: Obtén una implementación funcional en minutos en lugar de horas
Precisión: Los agentes de IA siguen la guía rápida con exactitud
Gestión de errores: Resuelven automáticamente la mayoría de los problemas comunes de configuración
Herramienta de aprendizaje: Observa cómo se desarrolla la implementación paso a paso
Personalización: Después de la configuración inicial, puedes modificar el código generado para adaptarlo a tus necesidades específicas
Rentable: Muchas herramientas de programación con IA ofrecen niveles gratuitos (como Gemini CLI) o están incluidas en suscripciones existentes
11.5 Mejores prácticas
Revisar el código: Revisa siempre el código generado por IA antes de usarlo en producción
Entender el flujo: Usa el código generado como una herramienta de aprendizaje para comprender el protocolo de Omniston
Personalizar: Adapta el código generado a tus requisitos específicos
Probar a fondo: Prueba la implementación con cantidades pequeñas antes de procesar transacciones más grandes
Seguridad: Nunca confirmes claves de API ni mnemónicos en el control de versiones
Este enfoque es especialmente útil para:
Desarrolladores nuevos en el ecosistema TON
Prototipado rápido y pruebas de concepto
Aprender con un ejemplo de una implementación funcional
Evitar errores comunes de configuración y problemas de puesta en marcha
Explorar rápidamente diferentes enfoques de implementación
¡Feliz intercambio!
Última actualización