Supondremos que se cumplen todos los demás requisitos previos, incluida la creación de la cuenta del sitio web, la verificación del correo electrónico, las comprobaciones de KYC y AML, etc.
1. El usuario ingresa al panel de control y ve un botón para crear una billetera (SOY).
2. Al hacer clic, se genera para el usuario un par de llaves Stellar fuera de línea (solo por primera vez). El secreto se guarda temporalmente en el navegador para el próximo conjunto de transacciones.
3. Se le solicita al usuario que guarde este par de llaves de manera segura (se puede dar una opción donde generamos un archivo de almacén de claves bloqueado con una contraseña y lo guardamos en el servidor).
4. Luego se le solicita al usuario que ingrese la clave secreta nuevamente para continuar con el siguiente paso. Esto es para asegurar que el usuario haya guardado la clave privada.
5. En el fondo (via xhr), financiamos SOY con 3 XLM activándolo así (cálculos posteriores). El servidor responde con un estado de éxito junto con COLa clave pública.
6. Tras la activación exitosa, creamos una transacción con las siguientes operaciones en SOY (este sobre de transacción (XDR) se envía al servidor en lugar de Stellar)
– Solicitar la línea de confianza para el token
– Añadir CO como firmante con peso 1
– Establecer todos los umbrales a 2
– Poner peso propio a 1.
7. El servidor envía esta transacción en Stellar y luego aprueba la línea de confianza de la cuenta de emisión del token. La cartera ahora está configurada para recibir fondos (XLM) de fuentes externas y está lista para comprar fichas de SDEX.
8. El usuario ahora se presenta un botón para comprar fichas. Al hacer clic, le pedimos al usuario que deposite XLM en SOY desde cualquier lugar que quieran. Podría ser su propia billetera estelar o un intercambio también.
9. El navegador muestra un estado de espera mientras espera una transacción entrante. Lo comprobamos utilizando el modo Eventos enviados por el servidor (streaming).
10. Al recibir fondos, creamos las siguientes transacciones (firmándolas parcialmente usando la clave secreta guardada en el navegador):
Transacción # 1: (N)
– Enviar 3 XLM a CO (recuperar los fondos de activación de la cuenta – solo una vez)
– Crear una oferta en SDEX para comprar fichas para todos menos 3 XLM en cuenta
Transacción # 2: (N + 1) Tiempo bloqueado durante la duración de ICO
– Retirar CO como firmante de esta cuenta
– Restablecer umbrales
11. Ambas transacciones se envían al servidor. La transacción # 1 está firmada por CO y presentado directamente a la red Stellar. La transacción # 2 está firmada y su hash y el sobre de la transacción se guardan en el servidor. El servidor también los devuelve al usuario si desea verificarlos y guardarlos con ellos.
12. Cada vez que el usuario desea transferir fondos, se repiten los pasos 8 a 11.
El servidor publicará esta transacción # 2 en el paso 10 una vez que finalice el ICO, independientemente de que el ICO tenga éxito o no.
En caso de que ICO tenga éxito, los tokens ya están en la cuenta del usuario con control total de la cuenta también. El panel de control puede proporcionar opciones rápidas y fáciles para transferir estos fondos a una cuenta diferente o fusionarlos con otra cuenta, etc.
En caso de que falle, estamos bloqueados por un conjunto diferente de SSC lo que mantiene tanto a nosotros como a nuestros usuarios protegidos. Una vez más, proporcionaremos opciones simples en el panel de control para recuperar los fondos.