Configuración para Activos Anclados
Un ancla es un término específico de Stellar para las rampas de entrada y salida que conectan la red Stellar con vías de pago tradicionales, como instituciones financieras o empresas fintech. Cuando un usuario deposita con un ancla, ese ancla acreditará su cuenta Stellar con la cantidad equivalente de tokens digitales. El usuario puede entonces mantener, transferir o comerciar esos tokens como cualquier otro activo Stellar. Cuando un usuario retira esos tokens, el ancla los canjea por efectivo o dinero en el banco. Lee más sobre los anclajes en esta sección de anclajes.
Cuando un cliente descarga una aplicación de billetera que está conectada a un servicio de ancla, su cuenta Stellar puede ser creada por la aplicación de billetera o el servicio de ancla. En este ejemplo, la cuenta ha sido creada por la aplicación de billetera, BasicPay. Las estrategias de creación de cuentas se describen con más detalle aquí.
En este ejemplo, utilizaremos un ancla en la Testnet de Stellar para simular una transferencia bancaria dentro y fuera de la billetera del usuario utilizando SEP-6: API de Depósito y Retirada y/o SEP-24: Depósito y Retirada Alojada.
Los SEPs definen estándares decididos por la comunidad para la interoperabilidad en Stellar. Lee más en nuestra sección de SEPs.
También utilizaremos las siguientes SEPs:
- SEP-1: Stellar TOML - un archivo que proporciona un lugar para que Internet encuentre información sobre la integración de Stellar de una organización
- SEP-9: Campos KYC Estándar - define una lista de campos KYC estándar para uso en protocolos del ecosistema Stellar
- SEP-10: Autenticación Web de Stellar - define la manera estándar para que los clientes creen sesiones web autenticadas en nombre de un usuario que posee una cuenta Stellar
- SEP-12: API KYC - define una manera estándar para que los clientes de Stellar suban información KYC a los anclajes
Encontrando activos anclados
BasicPay se encarga de todos los detalles de transferencia de anclajes en la página /dashboard/transfers
. Véalo en acción aquí: https://basicpay.pages.dev/dashboard/transfers
Necesitamos que nuestra aplicación sepa cómo puede comunicarse con los anclajes para obtener información sobre activos e infraestructura. Lo primero que haremos es determinar si el usuario tiene líneas de confianza a algún activo que tenga un campo home_domain
configurado en la red Stellar. La presencia de ese campo en la cuenta de un emisor nos dice que el activo puede estar conectado a las vías de pago existentes de Stellar, permitiendo la transferencia del activo. Si está presente, mostraremos algunos elementos interactivos al usuario para ese activo/dominio.
import { fetchAssetsWithHomeDomains } from "$lib/stellar/horizonQueries";
/** @type {import('./$types').PageLoad} */
export async function load({ parent }) {
const { balances } = await parent();
return {
/** @type {import('$lib/stellar/horizonQueries').HomeDomainBalanceLine[]} */
homeDomainBalances: await fetchAssetsWithHomeDomains(balances),
};
}
Fuente: https://github.com/stellar/basic-payment-app/blob/main/src/routes/dashboard/transfers/+page.js
Ahora sabemos si hay activos que el usuario posee que pueden tener la infraestructura necesaria para transferencias autenticadas y podemos consultar el dominio en cuestión para los detalles relevantes.