Справочник поддерживаемых NIP
Все NIP на стороне релея, реализованные в nostrfy — kinds, замечания и оговорки — и как динамически вычисляется список supported_nips в NIP-11.
Реализованные NIP
| NIP | Описание |
|---|---|
| 1 | Базовый протокол (события, подписки) |
| 9 | Удаление событий |
| 11 | Документ с информацией о релее |
| 13 | Доказательство работы |
| 17 | Приватные DM (kind 14, обёрнутый в kind 15; gift wrap kind 1059 и эфемерный kind 21059 выдаются только получателю, когда включена аутентификация NIP-42) |
| 22 | Комментарии (kind 1111, треды через индекс #e) |
| 26 | Делегированное подписание событий |
| 28 | Публичный чат (на стороне клиента: хранится и отдаётся как обычные события, не рекламируется) |
| 29 | Группы на основе релея |
| 32 | Метки (kind 1985, индексы #l/#L) |
| 33 | Параметризованные заменяемые события |
| 34 | git (kinds 1617-1619, 1621, 1622, 1630-1633, 30617/30618 — включается через relay.enabled_git, по умолчанию выключено) |
| 40 | Метка истечения срока |
| 42 | Аутентификация клиента |
| 43 | Метаданные доступа релея (роли) — kinds 33534/13534/8000/8001 плюс эфемерные 28934/28935/28936;
подписанные релеем метаданные закрыты AUTH. Инвайт-коды выдаются через NIP-86 createclaim/deleteclaim; kind:28934 с указанным кодом допускает
своего автора |
| 45 | Подсчёт результатов (COUNT) |
| 46 | Nostr Connect |
| 47 | Nostr Wallet Connect |
| 50 | Возможность поиска (полнотекстовый, с сортировкой по релевантности) |
| 57 | Lightning-запы (kinds 9734/9735) |
| 59 | Gift wrap (выдача только получателю) |
| 62 | Запрос на удаление |
| 65 | Метаданные списка релеев |
| 66 | Обнаружение релеев и доступность (kinds 30166/10166 хранятся и отдаются; публикует собственный kind 30166) |
| 67 | Подсказка полноты EOSE |
| 70 | Защищённые события |
| 77 | Синхронизация Negentropy (неудачная замена закрывает id с NEG-ERR по NIP-77) |
| 78 | Данные приложений (kind 30078, закрыто AUTH) |
| 84 | Выдержки |
| 85 | Доверенные утверждения (kinds 30382/30383/30384/30385/10040, адресуемые) |
| 86 | API управления релеем |
| 87 | Анонсы Cashu и Fedimint (kinds 38000/38172/38173) |
| 88 | Опросы |
| 94 | Метаданные файлов (kind 1063) |
| 98 | HTTP-аутентификация |
| A3 | Платёжные цели (kind 10133, заменяемый), черновик; обслуживается, но не рекламируется
в supported_nips |
Blossom (BUD-01/02) — не NIP и не рекламируется в документе NIP-11 — он обслуживается как
отдельный файловый сервер на хосте [blossom]. Подробности см. на странице файлового сервера Blossom.
Динамическая реклама NIP
Список supported_nips не статичен: NIP удаляется из него, когда каждый kind, определённый этим NIP, отклоняется контролем доступа релея.
blocked_kinds— блокировка всех kinds какого-либо NIP скрывает его (например, блокировка kind 5 скрывает NIP-09). Блокировка лишь некоторых kinds сохраняет NIP.allowed_kinds— kind принимается только если он перечислен; NIP, все kinds которого не перечислены, скрывается.reject_ephemeral— эфемерные kinds, которых нет в обязательном списке исключений (22242,27235,28934/28935/28936,24133,23194/23195,24242,21059), отклоняются, поэтому зависящие от них NIP скрываются.- Предусловия — NIP-29, NIP-43 и NIP-66 зависят от подписанных релеем событий и
скрыты без
relay.private_key; NIP-86 скрыт, если не заданыrpc.management_tokenилиrpc.admin_pubkey(иначе каждый управляющий вызов отклоняется). - NIP без выделенных kinds (
1,11,13,26,33,40,45,50,67,70,77) всегда рекламируются, когда включены.
Изменения в процессе работы — NIP-86 allowkind/disallowkind или перезагрузка SIGHUP
для reject_ephemeral — отражаются при следующем запросе NIP-11. enabled_nips/disabled_nips по-прежнему требуют перезапуска.