ezadr/lnurl-php

LNURL 规范的 PHP 实现,包括 LNURL 身份验证

1.0.1 2022-05-08 12:55 UTC

This package is auto-updated.

Last update: 2024-09-08 22:54:59 UTC


README

这是 lnurl 协议的 PHP 实现 https://github.com/fiatjaf/lnurl-rfc

此仓库是 https://github.com/tkijewski/php-lnurl 的分支。我改进了代码,增加了测试和 PHP8 支持,更重要的是,我增加了对 lnurl-auth 的支持 (https://github.com/fiatjaf/lnurl-rfc/blob/luds/04.md)。

安装

$ composer require ezadr/lnurl-php

使用方法

我还撰写了一篇文章,介绍如何在您的 PHP 应用程序中实现此功能,请参阅此处 https://zadrima.com/lnurl-auth-in-php/

<?php

require __DIR__ . '/vendor/autoload.php';

use eza\lnurl;

// Encode a URL to LNURL
$lnurl = lnurl\encodeUrl('https://paywall.link?someIdentifier=292e29j29j19nd91m2mfmmurn843&tag=withdraw');
//LNURL1DP68GURN8GHJ7URP09MKZMRV9EKXJMNT8AEK7MT9F9JX2MN5D9NXJETJ85ERJVN9XGUK5V3EDGCNJMNY8YCK6VNDVEKK6ATJDCURGVEXW3SKW0THD96XSERJV9MS95LDUW

// Decode from LNURL
print_r( lnurl\decodeUrl($lnurl) );
/*
 * [
 *   'url' => 'https://paywall.link?someIdentifier=292e29j29j19nd91m2mfmmurn843&tag=withdraw',
 *   'tag' => 'withdraw'
 *   'someIdentifier' => '292e29j29j19nd91m2mfmmurn843'
 * ] 
 */
 
// LNURL Auth
if (lnurl\auth($request->k1, $request->signature, $request->wallet_public_key)) {
    // fetch or create user then authenticate
}

测试

$ vendor/bin/phpunit