Skip to Content
dApps
En esta página

lnurl

Solicita ejecutar una solicitud LNURL . La aplicación debe pasar una cadena LNURL  proporcionada, por ejemplo, por su backend. La función lnurl también puede aceptar un identificador estático LUD-16  (p. ej., [email protected]) en lugar de una cadena LNURL.

El método devuelve una promesa que se resuelve al completar el flujo LNURL. Devuelve la última respuesta del servidor LNURL. Para solicitudes LNURL-pay, también contiene información del pago (preimagen, hash del pago); para solicitudes LNURL-auth, contiene información de autenticación (mensaje, firma)

Método

declare function lnurl(lnurl: string): Promise<LNURLResponse>;;

Respuesta

type LNURLResponse = | { status: "OK"; data?: unknown } | { status: "ERROR"; reason: string };

Respuesta LNURL-pay

type LNURLPayResponse = | { status: "OK"; data: { preimage: string, paymentHash: string, paymentRequest: string } } | { status: "ERROR"; reason: string };

Respuesta LNURL-auth

type LNURLAuthResponse = | { status: "OK"; data: { message: string, signature: string } } | { status: "ERROR"; reason: string };

Ejemplo

const lnurl = "<LNURL_OR_LIGHTNING_ADDRESS>"; const provider = (window.$onekey && window.$onekey.webln) || window.webln; if (!provider || typeof provider.lnurl !== "function") { throw new Error("LNURL is not supported by this provider."); } await provider.enable(); const result = await provider.lnurl(lnurl); // promise resolves once the LNURL process is finished (e.g. a payment is sent or the login is complete)

Comprueba result.status: una respuesta ERROR contiene un reason. Captura también las promesas rechazadas, incluidos los fallos de conexión o de aprobación del usuario. El campo opcional data depende del flujo LNURL; no supongas una estructura fija sin comprobarla.

Última actualización el