-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
54 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,4 +6,55 @@ | |
|
||
در رویداد های گونه ۰ (متادیتا کاربر) یک کلید به نام `nip05` (https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1)[میتواند ادرس شناسه گر اینترنتی] (ادرسی ایمیل مانند) را به عنوان مقدار داشته باشد. هرچند که لینک به مشخصات شناسه گر اینترنتی در بالا وجود دارد اما نیپ ۵ تصور میکند که `<local-part>` به کاراکتر های `a-z0-9-_.` حساس است و حساستی به کوچکی و بزرگی کاراکتر ها ندارد. | ||
|
||
با دیدن این ادرس کلاینت ادرس را به دو قسمت `domain` و `<local-part>` تقسیم میکند و از این مقادیر برای ایجاد یک درخواست GET به `https://<domain>/.well-known/nostr.json?name=<local-part>` استفاده میکند. | ||
با دیدن این ادرس کلاینت ادرس را به دو قسمت `domain` و `<local-part>` تقسیم میکند و از این مقادیر برای ایجاد یک درخواست GET به `https://<domain>/.well-known/nostr.json?name=<local-part>` استفاده میکند. | ||
|
||
خروجی باید یک شی جیسان با کلید به نام `"names"` داشته باشد که به کلید های عمومی ای در مبنای ۱۶ اشاره کند. اگر کلید عمومی مربوط به `<name>` با کلید عمومی کاربری که این شناسه در رویداد متادیتا او قرارداشته برابر باشد کلاینت میتواند نتیجه بگیرد که کلید عمومی با این شناسه هم میتواند شناخته شود. | ||
|
||
## نمونه | ||
|
||
اگر کلاینت رویدادی همچون رویداد زیر دید: | ||
|
||
```json | ||
{ | ||
"pubkey": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9", | ||
"kind": 0, | ||
"content": "{\"name\": \"bob\", \"nip05\": \"[email protected]\"}" | ||
... | ||
} | ||
``` | ||
|
||
یک درخواست GET به ادرس `https://example.com/.well-known/nostr.json?name=bob` ایجاد میکند و چنین پاسخی میگیرد: | ||
|
||
```json | ||
{ | ||
"names": { | ||
"bob": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9" | ||
} | ||
} | ||
``` | ||
|
||
یا به همراه ویژگی رله ها پیشنهاد شده: | ||
|
||
```json | ||
{ | ||
"names": { | ||
"bob": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9" | ||
}, | ||
"relays": { | ||
"b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9": [ "wss://relay.example.com", "wss://relay2.example.com" ] | ||
} | ||
} | ||
``` | ||
|
||
اگر کلید عمومی با کلید عمومی داده شده در `"names"` برابر بود به این معنا است که وابستگی معتبر است و نشانی نیپ ۵ میتواند نمایش داده شود. | ||
|
||
ویژگی رله های پیشنهادی میتواند شامل کلید های عمومی به عنوان کلید و ارایه ای از ادرس رله ها به عنوان مقدار باشد. اگر این مقدار وجود داشت میتواند به کلاینت کمک کند تا بفهمد در کدام رله ها میتواند رویداد های مربوط به کلید عمومی داده شده را پیدا کند. وب سرور هایی که `.well-known/nostr.json` را بصورت پویا اراعه میکنند باید فهرست رله های پیشنهادی را هم در صورت وجود در همان درخواست برگردانند. | ||
|
||
## پیدا کردن کاربر ها با استفاده از شناسه نیپ ۵ | ||
|
||
یک کلاینت ممکن است پشتیبانی از یافتن کاربران با استفاده از شناسه گر اینترنتی را پیاده سازی کند. روند همچون پیش است اما برعکس: نخست کلاینت ادرس well-known را میگیرد سپس از خروجی کلید عمومی کاربر را بدست می اورد و کوشش میکند تا رویداد گونه ۰ کاربر را پیدا کند و بررسی کند که ادرس نیپ ۵ با ادرس نیپ ۵ در رویداد گونه ۰ کاربر برابر است یا نه. | ||
|
||
## یادداشت ها | ||
|
||
### کلاینت همیشه باید کلید های عمومی را دنبال کند نه ادرس های نیپ ۵ را | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters