Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/adopt lightning address #7

Merged
merged 5 commits into from
Dec 17, 2023
Merged

Conversation

ocknamo
Copy link
Owner

@ocknamo ocknamo commented Dec 17, 2023

TL;DR;

To generate a link of the chip page for any lightning address function is added to shotr (BETA).

Problem

Custom schema like lnurp::// or lightning:// are very useful. Web Applications can be called up from Android or iOS using DeepLink by simply embedding them as links on a website, making it easy to set up tip buttons.

However, in the case of post-type blog services that are not self-hosted, you can embed https:// or http:// schema links, but arbitrary custom schema are often restricted and cannot be embedded.

Solution

The premise is that shotr is an application that when a generated URL is accessed, it calls the original URL stored as an event in the relay and redirects. Because, to shorten the URL.

Utilize this mechanism to save the Lightning address as an event in the relay instead of a URL, and use it as a redirector for the custom schema link of the Lightning address.

When you open the generated URL, the data of the target Lightning address is retrieved from the relay and displayed as a tip button.
Also, a QR code is displayed in case DeepLink cannot be used when launched in a browser on a PC.

image

Points to remember

  • The person who creates the URL for the tip and the person who sends the tip need to give full trust to shotr to ensure that the tip destination address has not been tampered with. Therefore, it is not recommended for self-hosted websites as there is no reason to use it other than convenience.
    • However, the shotr data save event (kind: 30078) itself is published to the relay and signed by its creator, so it may theoretically be verifiable.

TL;DR;

任意のライトニングアドレスに対してのチップ画面のリンクを生成する機能をshotrに追加しました(BETA)。

課題

lnurp::// (LUD-17) もしくは lightning://のようなカスタムスキーマはとても便利である。Webサイトにリンクとして埋め込むだけでAndroidやiOSからアプリケーションをDeepLinkで呼び出すことができるため、手軽にTipボタンを設置することができる。

しかしセルフホステッドでない投稿型のブログサービスなどの場合https://もしくはhttp://のスキーマのリンクは埋め込めるが任意のカスタムスキーマは制限されている場合が多く埋め込むことができない。

解決方法

前提として、shotrは生成したURLにアクセスするとリレーにイベントとして保存した元のURLを呼び出してリダイレクトを行うアプリである。

これを仕組みを活用してライトニングアドレスをURLの代わりにリレーにイベントとして保存し、ライトニングアドレスのカスタムスキーマのリンクに対するリダイレクタとして利用する。

生成したURLを開くとリレーから対象のライトニングアドレスのデータを取得してTipボタンとして表示する。
また、PC上のブラウザで起動してDeepLinkが使用できない場合を考慮してQRコードを表示する。

image

留意点

  • Tip用のURLを作成する人とTipを行う人はTip先のアドレスが改ざんされていないことをshotrに対してフルトラストする必要がある。そのためセルフホステッドのWebサイトでは利便性以外に利用する理由がないため非推奨である。
    • ただしshotrのデータ保存用のイベント(kind: 30078)自体はリレーに公開されており、作成者によって署名されているので理論上は検証は可能かも。

@ocknamo ocknamo merged commit 058275e into main Dec 17, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant