-
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
2 changed files
with
70 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,69 @@ | ||
|
||
# نیپ شماره 10 | ||
|
||
## راجع به تگ های p و e در رویداد های متنی (گونه ۱) | ||
|
||
`پیش نویس` `دلبخواهی` | ||
|
||
### چکیده | ||
|
||
این نیپ توضیح میدهد که چگونه از تگ های e و p در رویداد های متنی استفاده شود. بخصوص رویداد هایی که درپاسخ به رویداد های متنی دیگری ارسال شده اند. این به کلاینت ها کمک میکند تا پاسخ ها را در رشته ای درختی با رویداد اصلی به عنوان ریشه درخت قرار دهد. | ||
|
||
### تگ e موقعیتی (منسوخ شده) | ||
|
||
> این رویه در استفاده است اما باید به عنوان منسوخ شده در نظر گرفته شود. | ||
["e", <event-id>, <relay-url>] همانطور که در نیپ ۱ آمده. | ||
|
||
به طوری که: | ||
|
||
* <event-id>: شناسه رویداد ارجاع داده شده است. | ||
* <relay-url>: ادرس رله پیشنهادی برای رویداد ارجاع داده شده. کلاینت های زیادی این را دلبخواهی در نظر میگیرند. | ||
|
||
موقعیت تگ e در رویداد معنا های متفاوتی دارد: | ||
|
||
* بدون تگ e: | ||
این رویداد یک پاسخ نیست و به رویدادی ارجاعی ندارد. | ||
|
||
* یک تگ e: | ||
["e", <id>]: ایدی رویدادی که این رویداد پاسخ به ان است. | ||
|
||
* دو تگ e ["e", <root-id>], ["e", <reply-id>]: | ||
<root-id>: شناسه رویدادی که در ریشه زنجیره پاسخ ها قرار دارد. | ||
<reply-id>: شناسه رویدادی که این رویداد به ان اشاره میکند. | ||
|
||
* چند تگ e ["e", <root-id>] ["e", <mention-id>], ..., ["e", <reply-id>]: | ||
ممکن است هر تعداد شناسه <mention-ids> وجود داشته باشد که میتواند در زنجیره پاسخ ها باشند یا نباشند که از این رویداد استناد میکنند. root-id و reply-id همچون موارد قبل اند. | ||
|
||
> این روند منسوخ شده چرا که وقتی یک رویداد به رویداد دیگری ارجاع میدهد اما یک پاسخ نیست ابهاماتی پیچیده یا حتی غیرقابل حل ایجاد میکند. | ||
### تگ e علامت گزاری شده (ترجیحی) | ||
|
||
["e", <event-id>, <relay-url>, <marker>, <pubkey>] | ||
|
||
به طوری که: | ||
|
||
*<event-id>: شناسه رویداد ارجاع داده شده است. | ||
|
||
* <relay-url>: ادرس رله پیشنهادی برای رویداد ارجاع داده شده. کلاینت باید یک ادرس معتبر قرار دهد. کلاینت ممکن است این فیلد را یک رشته خالی قرار دهد. | ||
|
||
* <marker>: دلبخواهی است و اگر وجود داشته باشد یکی از موارد reply یا root یا mention است. | ||
|
||
* <pubkey>: دلبخواهی است و باید شناسه مالک رویداد ارجاع شده باشد. | ||
|
||
مواردی که با "reply" نشانه گذاری شده اند نشان دهنده شناسه رویدادی است که به آن پاسخ داده شده است. موارد نشانه گذاری شده با "root" شناسه رویداد ریشه رویدادی است که به ان پاسخ داده شده است. برای پاسخ های سطح بالا (رویداد هایی که مستقیما به ریشه اشاره میکنند.) تنها نشانه root باید استفاده شود. مواردی که با "mention" نشانه گذاری شده اند نشان دهنده شناسه یک رویداد نقل قول شده یا بازنشر شده اند. | ||
|
||
یک پاسخ مستقیم به رویداد ریشه باید تنها یک تگ e با نشانه گذاری root داشته باشد. | ||
|
||
> این روند ترجیح داده شده است زیرا اجازه میدهد رویداد به رویداد های دیگر اشاره کند بدون اینکه با <reply-id> یا <root-id> اشتباه گرفته شوند. | ||
<!-- <pubkey> باید کلید عمومی TODO --> | ||
|
||
|
||
### تگ p | ||
|
||
یک فهرست است کلید های عمومی افرادی که در ریک رشته پاسخ درگیر هستند در رویداد های متنی. | ||
|
||
زمانی که به یک رویداد پاسخ داده میشود تگ های p پاسخ برابر با تمام تگ های p خود رویداد و کلید عمومی ان رویداد است. | ||
|
||
برای نمونه: یک رویداد متنی با مالکیت a1 با تگ های p: [p1, p2, p3] سپس تگ های p پاسخ به این رویداد باید به صورت [a1, p1, p2, p3] بدون اهمیت ترتیب باشد. |