このページの内容
lnurl
LNURL リクエストの実行を要求します。アプリケーションは LNURL 文字列を渡す必要があり、たとえばバックエンドから提供します。lnurl 関数は、LNURL 文字列の代わりに LUD-16 の静的識別子 (例: [email protected]) も受け付けます。
このメソッドは LNURL フローの完了時に解決される Promise を返します。LNURL サーバーの最後のレスポンスを返し、LNURL-pay では支払い情報 (preimage、支払いハッシュ)、LNURL-auth では認証情報 (メッセージ、署名) も含みます。
メソッド
declare function lnurl(lnurl: string): Promise<LNURLResponse>;;レスポンス
type LNURLResponse =
| {
status: "OK";
data?: unknown
}
| { status: "ERROR"; reason: string };LNURL-pay レスポンス
type LNURLPayResponse =
| {
status: "OK";
data: {
preimage: string,
paymentHash: string,
paymentRequest: string
}
}
| { status: "ERROR"; reason: string };LNURL-auth レスポンス
type LNURLAuthResponse =
| {
status: "OK";
data: {
message: string,
signature: string
}
}
| { status: "ERROR"; reason: string };例
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)result.status を確認してください。ERROR レスポンスには reason が含まれます。接続やユーザー承認の失敗を含め、Promise の拒否もキャッチしてください。任意の data ペイロードは LNURL フローによって異なります。確認せずに固定の形式を仮定しないでください。
最終更新日