Artículo de Blog

Solucionando Pagos sin Memo

Autor

Tom Quisel

Fecha de publicación

FAQ

Exchanges

Memo

Ahora hay una solución simple al problema de “olvidé mi memo”: los exchanges y billeteras pueden requerir memos para los pagos entrantes de Stellar configurando una bandera en su cuenta, y pueden hacerlo en unos pocos clics o en unas pocas líneas de código.

Un poco de contexto: memos se utilizan en la red de Stellar principalmente para apoyar las cuentas de Stellar que los exchanges proveen para sus usuarios. Si alguna vez has transferido Lumens a un exchange como Coinbase, Binance, o CoinBene, probablemente has visto una pantalla como esta:

La funcionalidad de “Recibir Stellar Lumens” de Coinbase

Cómo funciona esto: el exchange mantiene una única cuenta de Stellar para recibir depósitos para todos sus usuarios, y proporciona un ID de memo para cada usuario. Cuando un usuario quiere hacer un pago en la red de Stellar a su cuenta de exchange, deben incluir el ID del memo o el exchange no sabrá acreditar la cuenta.

Esto ha sido un largo-problema persistente. Un pago a una cuenta de exchange que falta un memo causa ansiedad para el usuario cuando piensan que sus fondos se han perdido, y causa dolores de cabeza para el exchange mientras intentan rastrear el pago y manejarlo adecuadamente.

Afortunadamente, estos problemas pueden ser los fantasmas de nuestro pasado. La comunidad de Stellar ha aprobado SEP-29, que plantea una solución al problema. Usando entradas de datos, un exchange puede marcar su cuenta como que requiere memos con una operación simple y única. Las billeteras que se actualicen a la última versión del SDK de Stellar entonces rechazarán permitir a los usuarios enviar pagos sin memo a esas direcciones.

Un gran agradecimiento a los miembros de la comunidad de Stellar por unir cabezas en la solución, al equipo de SDF Horizon por coordinar una implementación rápida, y a nuestros mantenedores de SDK de la comunidad allí afuera!

Para exchanges

Este es un cambio increíblemente simple de implementar: solo agrega una entrada de datos a tu billetera de depósitos con la clave config.memo_required y el valor 1.

Aquí hay un enlace pre-poblado de Stellar Laboratory enlace que configurará la bandera de memo requerido para una cuenta. Para usarlo:

  • Agrega una cuenta fuente
  • Obtén el siguiente número de secuencia para esa cuenta
  • Desplázate hasta el final y haz clic en “Iniciar sesión en Transaction Signer”
  • En la siguiente página, firma con tu clave secreta
  • Haz clic en “Enviar a Post Transaction Endpoint.” ¡Eso es todo!

Así es cómo hacerlo usando el SDK de JS:


new TransactionBuilder(account, {
 fee: 100,
 networkPassphrase: Networks.PUBNET
 })
 .addOperation(
 Operation.manageData({
 name: "config.memo_required",
 value: "1",
 })
 )
 .setTimeout(30)
 .build()

Para billeteras

Simplemente actualiza tu frontend y backend a la última versión del SDK de Stellar. La verificación de memos está activada por defecto en los nuevos SDKs, así que las billeteras que se actualicen ganarán esta característica protectora automáticamente.

El JS, Java, C#, Python, Ruby, y otros ya tienen soporte.