Una Guía No Oficial para la Integración de Servicios Qubic
Integra Qubic en servicios existentes a través de nodo completo, nodo remoto, servidor de archivo o API, con diversos niveles de control y complejidad.
Qsilver · 17 de febrero de 2024.
Introducción
La integración de Qubic en servicios existentes se puede realizar de cuatro maneras principales, cada una ofreciendo diferentes niveles de control y complejidad:
- Ejecutar un nodo completo: Acceso directo a los datos en memoria para operaciones.
- Ejecutar un nodo remoto: Consultar nodos completos públicos para obtener los datos necesarios para las operaciones.
- Ejecutar un servidor de archivo: Construir un archivo completo local de todos los datos de Qubic para operaciones.
- Interfaz con el servidor API de Qubic: El método más simple, pero con menos control sobre la disponibilidad de los datos.
Cuanto más bajo sea el número, más trabajo involucrado, pero más control se tiene sobre la disponibilidad de los datos. Independientemente del nivel que elijas, es esencial entender las diferencias críticas sobre Qubic.
Diferencias Importantes sobre Qubic
Para los servicios que manejan valor monetario, las dos diferencias más importantes sobre Qubic son:
- Incluso si un txid está incluido en un tick validado, podría no haber hecho nada.
- El balance de la dirección puede cambiar sin una transacción específica transfiriendo de A a B, por ejemplo, mediante una operación de contrato inteligente.
Debido a estas diferencias, el procesamiento de Qubic debe basarse en cambios en el balance de las direcciones, asegurando que los cambios por contratos inteligentes no confundan la lógica.
Manejo de Depósitos
Para simplificar el manejo de depósitos, se recomienda usar transacciones normales. Los depósitos realizados mediante contratos inteligentes podrían ser ignorados o manejados manualmente (con un cargo adicional para cubrir los costos).
- Iterar a través de todas las transacciones en cada tick e identificar direcciones de destino que pertenezcan a clientes.
- Marcar estas direcciones para verificación de balance.
- Obtener información de entidad para direcciones marcadas para ver cuáles recibieron nuevos fondos.
- Actualizar la información de entidad actual para direcciones que recibieron nuevos fondos.
Los cambios en el balance podrían no coincidir con el monto de la transacción debido a fallos de txid o depósitos de contratos inteligentes. Ignorar los depósitos SC asegura que el usuario sea acreditado por depósitos SC incluso si el txid falló.
Procesamiento de Depósitos Basado en Balance
Este método podría requerir más ancho de banda pero es viable para servicios de rango medio al consultar cientos de miles de direcciones a través de la red mediante un nodo remoto. Asegura que todos los métodos de depósito sean debidamente acreditados, mejorando la experiencia del usuario.
- Mantener los datos de entidad validados más recientes para cada dirección de usuario.
- En un bucle de sondeo, comparar los datos de entidad más recientes con los datos de entidad validados.
- Validar los datos de entidad más recientes usando el árbol de Merkle.
- Si se valida, actualizar los datos de entidad validados y generar un evento de depósito basado en la diferencia en los depósitos totales.
Procesamiento de Retiros
Pequeños Volúmenes
- Obtener datos de entidad validados para la dirección de envío.
- Colocar en cola una transacción de retiro basada en el destino y el monto.
- Generar los datos de entidad esperados para outgoingAmount y el outgoingAmount actual + monto del retiro.
- Procesar la cola creando y transmitiendo la transacción de retiro.
- Después de un tick especificado, verificar si los datos de entidad outgoingAmount han cambiado al monto esperado.
- Si lo ha hecho, marcar el retiro como completo, quitarlo de la cola y actualizar los datos de entidad validados. Si no, repetir el proceso.
Volúmenes Medios
- Usar el comando SENDMANY SC para agrupar hasta 25 retiros en una sola transacción.
- Aplicar la misma lógica que para pequeños volúmenes, usando SENDMANY en lugar de transacciones de envío simples.
- Una sola dirección usando SENDMANY puede lograr alrededor de 100 retiros por minuto.
Altos Volúmenes
- Usar la aplicación sendmany para enviar hasta 15,625 pagos, completando en aproximadamente 20 ticks (~8000 retiros por minuto).
- La aplicación sendmany utiliza el SENDMANY SC en un fanout de tres niveles. Los pagos se especifican en un archivo .csv, se procesan para calcular el monto total y se envían a una dirección especial.
- Una vez que llegan los fondos, se distribuyen en tres generaciones (25 x 25 x 25 pagos).
Repositorio sendmany
Para obtener detalles sobre el programa sendmany, visita el repositorio:
Repositorio de GitHub de sendmany
Conclusión
Integrar Qubic en servicios existentes requiere una consideración cuidadosa del manejo de datos, especialmente para transacciones monetarias. Al elegir el método de integración apropiado y entender los aspectos únicos de Qubic, los servicios pueden gestionar efectivamente depósitos y retiros a distintas escalas.
Lee la serie “No Oficial” de Qsilver
- Una hoja de ruta interina no oficial de Qubic
- Detalles de Qubic Crypto
- Una Guía No Oficial para la Integración de Servicios Qubic
- Una Guía No Oficial para Escribir Contratos Inteligentes Qubic
Para obtener las últimas actualizaciones, únete al Discord de Valis, síguenos en X y guarda nuestro blog en tus favoritos.
← Anterior
En esta página
- Una Guía No Oficial para la Integración de Servicios Qubic
- Introducción
- Diferencias Importantes sobre Qubic
- Manejo de Depósitos
- Procesamiento de Depósitos Basado en Balance
- Procesamiento de Retiros
- Pequeños Volúmenes
- Volúmenes Medios
- Altos Volúmenes
- Repositorio sendmany
- Conclusión
- Lee la serie “No Oficial” de Qsilver