Cómo construir una aplicación de criptografía móvil y asegurar su estabilidad
Los comerciantes de criptomonedas modernos cada vez más eligen los teléfonos inteligentes como su principal herramienta - de acuerdo con los datos de la industria, más del 60% de las transacciones se realizan a través de dispositivos móviles. Esto requiere que los desarrolladores creen no solo aplicaciones visualmente atractivas, sino plataformas de negociación totalmente funcionales, seguras y de alta velocidad, donde incluso los errores menores pueden conducir a consecuencias graves (desde la visualización incorrecta del saldo hasta la pérdida de fondos).
Construir una aplicación de comercio de criptografía móvil no se trata sólo de portar una interfaz web a una aplicación.Es un desafío de ingeniería independiente con muchos matices.Los usuarios esperan comerciar de forma rápida, conveniente y segura, sin tener que entender los detalles técnicos.
Las tendencias clave que forman el mercado de comercio de criptomonedas móviles incluyen:
- Un cambio de la web a la móvil: las interfaces están adoptando el diseño móvil primero, y las demandas de rendimiento están aumentando.
- La demanda de experiencias nativas: las aplicaciones deben ser rápidas, seguras y sentirse "nativas" al sistema operativo.
En este artículo, compartimos cómo el equipo EVEDEX y los desarrolladores de CleverPumpkin integraron un SDK TypeScript (originalmente construido para la web) en aplicaciones nativas para mantener una lógica de negocio unificada en todas las plataformas.
Por qué elegimos el SDK y los retos a los que nos enfrentamos
Por qué elegimos el SDK y los desafíos a los que nos enfrentamosLa versión web de EVEDEX ya utilizó un SDK de Exchange personalizado, una biblioteca TypeScript que conecta la API de intercambio en el lado del cliente. Con el tiempo, ha desarrollado una lógica de negocio integral, incluyendo la agregación de datos de mercado, la firma de pedidos y la validación.
El objetivo principal era garantizar un comportamiento consistente en todas las plataformas. Nuestro objetivo era evitar la duplicación de la lógica, reducir el número de errores y acelerar el desarrollo. Esto significó: integrar el SDK web existente en las aplicaciones móviles nativas.
Sin embargo, el SDK fue escrito en TypeScript y no fue diseñado originalmente para su uso fuera de un navegador.
“Hemos discutido todas las posibles opciones de implementación en detalle.Teniendo en cuenta el contexto completo, decidimos intentar integrar el SDK TypeScript completo en las aplicaciones nativas.Este era un nuevo territorio para nosotros, pero estábamos listos para hacer frente a esta tarea no convencional.”
-Alexander Kiaykin, CTO de CleverPumpkin
“Hemos discutido todas las posibles opciones de implementación en detalle.Teniendo en cuenta el contexto completo, decidimos intentar integrar el SDK TypeScript completo en las aplicaciones nativas.Este era un nuevo territorio para nosotros, pero estábamos listos para hacer frente a esta tarea no convencional.”
-Alexander Kiaykin, CTO de CleverPumpkin
Alexander Kiaykin, CTO de CleverPumpkin
Para garantizar una interacción suave con el SDK desde el código nativo, desarrollamos un envuelto de plataformas que facilitaba la comunicación entre el SDK y la lógica empresarial de la aplicación.
- No todos los motores JS soportan la última sintaxis ECMAScript: tuvimos que reducir la meta de transpilación de TypeScript a una versión de JavaScript que sea compatible con el motor.
Integración de Wallet: Implementación de Depósitos y Retiros
Integración de Wallet: Implementación de Depósitos y RetirosNingún intercambio de criptomonedas puede operar sin la funcionalidad de depósito y retiro.Nuestro objetivo era hacer este proceso intuitivo y seguro.
Para mejorar la comodidad del usuario, añadimos soporte para transferencias flexibles de activos entre redes utilizando el servicio LI.FI, que permite a los usuarios:
- Transferir activos de una red a otra.
- Hazlo con solo unos pocos clics, sin buscar puentes manualmente ni comprender la compleja lógica de las interacciones en cadena.
- Elige la mejor opción basada en las preferencias de precio/velocidad.
Al mismo tiempo, tuvimos que considerar las especificidades de trabajar con las carteras de criptografía en un entorno móvil.Para conectar y interactuar con las carteras, usamos EIP-1193 (Ethereum Provider JavaScript API), que es el estándar que define cómo las aplicaciones pueden integrarse con las carteras de Ethereum.
EIP-1193 EIP-1193(Ethereum Provider JavaScript API)
La aplicación móvil admite varios métodos de conexión:
- A través de MetaMask
- Importar una cartera externa usando una frase semilla o clave privada.
- Crear una nueva cartera directamente dentro de la aplicación.
Independientemente del método elegido, la aplicación puede servir como proveedor de cartera para la página de depósito. Esto nos permitió reutilizar la interfaz web existente sin necesidad de construir un sistema separado para la aplicación móvil.
NB*: En la fase actual, EVEDEX solo opera con redes compatibles con Ethereum, por lo que no se consideraron estándares alternativos.*
NBNBConclusiones y tomas clave
Conclusiones y tomas claveIntegrar un SDK TypeScript en una aplicación móvil nativa resultó ser una tarea poco convencional y a veces desafiante, pero nos permitió asegurar un comportamiento consistente en todas las plataformas, eliminar la duplicación lógica, reducir el número de errores y acelerar significativamente el proceso de desarrollo:
- Un SDK web puede ser adaptado para entornos móviles, pero requiere una reconsideración arquitectónica y una correcta descomposición lógica.
- Desconectar la lógica de negocio de las operaciones a nivel del sistema es esencial para una arquitectura sostenible.En nuestro caso, el código nativo maneja las operaciones de red y la comunicación WebSocket, mientras que el SDK se centra únicamente en la lógica de negocio.
- El uso de estándares como EIP-1193 ayuda a mantener la compatibilidad de la cartera y simplifica la implementación.
“No fue fácil, pero ahora sabemos exactamente cómo incorporar un SDK TypeScript en una aplicación criptográfica nativa. Esto no solo aceleró el desarrollo sino que también nos dio una base arquitectónica para el futuro”."No fue fácil, pero ahora sabemos exactamente cómo incorporar un SDK TypeScript en una aplicación criptográfica nativa. Esto no solo aceleró el desarrollo sino que también nos dio una base arquitectónica para el futuro."
- Vlad Komissarov, CTO de EVEDEX
— Vlad Komissarov, CTO de EVEDEX
— Vlad Komissarov, CTO de EVEDEX
El desarrollo de la aplicación móvil EVEDEX no fue sólo otro lanzamiento de producto, fue un experimento tecnológico real que ahora puede servir como punto de partida para otros equipos que buscan soluciones no convencionales en el mundo de la criptografía.
Escrito por:
Escrito por:Escrito por:Vlad Komissarov, CTO de EVEDEX
Alexander Kiaykin, CTO de CleverPumpkin