Добро пожаловать, друзья!
Этот репозиторий содержит эталонную реализацию AT-протокола Bluesky и серверную часть службы приложений микроблогов app.bsky
.
Пакеты TypeScript:
Упаковка | Документы | НПМ |
---|---|---|
@atproto/api : клиентская библиотека | ЧИТАЙТЕ | |
@atproto/common-web : общий код и помощники, которые можно запускать в веб-браузерах. | ЧИТАЙТЕ | |
@atproto/common : общий код и помощники, которые не работают в веб-браузерах. | ЧИТАЙТЕ | |
@atproto/crypto : криптографическая подпись и сериализация ключей. | ЧИТАЙТЕ | |
@atproto/identity : DID и разрешение обработки | ЧИТАЙТЕ | |
@atproto/lexicon : язык определения схемы | ЧИТАЙТЕ | |
@atproto/repo : структура хранения данных, включая MST. | ЧИТАЙТЕ | |
@atproto/syntax : строковые анализаторы идентификаторов. | ЧИТАЙТЕ | |
@atproto/xrpc : помощники HTTP API на стороне клиента | ЧИТАЙТЕ | |
@atproto/xrpc-server : помощники HTTP API на стороне сервера. | ЧИТАЙТЕ |
Службы TypeScript:
pds
: «Сервер личных данных», на котором размещается содержимое репозитория для учетных записей atproto. Большая часть кода реализации находится в packages/pds
, а оболочка времени выполнения — в services/pds
. Инструкции по самостоятельному хостингу см. в bluesky-social/pds.bsky
: реализация AppView конечных точек API app.bsky.*
. Работает в основной сети по адресу api.bsky.app
. Большая часть кода реализации находится в packages/bsky
, а оболочка времени выполнения — в services/bsky
. Лексиконы: для com.atproto.*
и app.bsky.*
в этом репозитории установлены канонические версии, на данный момент они находятся в ./lexicons/
. Это файлы JSON на языке определения схемы Lexicon, аналогичном JSON Schema или OpenAPI.
Данные тестирования совместимости: независимые от языка тестовые файлы в ./interop-test-files/
могут быть полезны для других реализаций протокола, чтобы гарантировать, что они правильно соответствуют спецификации.
Исходный код клиентского приложения Bluesky Social (для Интернета и мобильных устройств) можно найти по адресу bluesky-social/social-app.
Исходный код языка программирования Go находится в формате bluesky-social/indigo, включая реализацию BGS.
Мы рекомендуем nvm
для управления установками Node.js. Для этого проекта требуется Node.js версии 18. pnpm
используется для управления рабочей областью нескольких пакетов. Вы можете установить его с помощью npm install --global pnpm
.
Существует Makefile, который может помочь с основными задачами разработки:
# use existing nvm to install node 18 and pnpm
make nvm-setup
# pull dependencies and build all local packages
make deps
make build
# run the tests, using Docker services as needed
make test
# run a local PDS and AppView with fake test accounts and data
# (this requires a global installation of `jq` and `docker`)
make run-dev-env
# show all other commands
make help
Протокол аутентифицированной передачи («ATP» или «atproto») — это децентрализованный протокол социальных сетей, разработанный Bluesky PBC. Узнайте больше:
Приложение Bluesky Social включает в себя набор схем и API, встроенных в общую структуру протокола AT. Пространство имен для этих «лексиконов» — app.bsky.*
.
Хотя мы принимаем взносы, мы уделяем приоритетное внимание проблемам высокого качества и запросам на включение. Соблюдение приведенных ниже рекомендаций обеспечит более своевременную проверку.
Правила:
Рекомендации:
Помните, мы обслуживаем широкое сообщество пользователей. Наша повседневная жизнь предполагает, что мы постоянно спрашиваем: «Какой главный приоритет является нашим главным приоритетом?» Если вы представите хорошо написанные PR-отзывы, в которых кратко решаются проблемы, это будет огромным вкладом. В противном случае, как бы нам ни хотелось принять ваши идеи и вклад, у нас действительно не хватит пропускной способности.
Bluesky — это открытая социальная сеть, построенная на протоколе AT, гибкой технологии, которая никогда не лишит разработчиков доступа к экосистемам, которые они помогают создавать. С помощью atproto сторонние сервисы могут работать так же легко, как и собственные, благодаря пользовательским каналам, федеративным сервисам, клиентам и многому другому.
Если вы обнаружите какие-либо проблемы с безопасностью, отправьте электронное письмо по адресу [email protected]. Электронная почта автоматически передается всей команде, и мы оперативно ответим. Дополнительную информацию смотрите на сайте SECURITY.md.
Этот проект имеет двойную лицензию на условиях MIT и Apache 2.0:
Последующие проекты и конечные пользователи могут выбирать либо лицензию по отдельности, либо обе вместе, по своему усмотрению. Мотивом для такого двойного лицензирования является дополнительная гарантия патента на программное обеспечение, обеспечиваемая Apache 2.0.