Willkommen Freunde!
Dieses Repository enthält Blueskys Referenzimplementierung des AT-Protokolls und des app.bsky
Microblogging-Anwendungsdienst-Backends.
TypeScript-Pakete:
Paket | Dokumente | NPM |
---|---|---|
@atproto/api : Client-Bibliothek | README | |
@atproto/common-web : Gemeinsamer Code und Helfer, die in Webbrowsern ausgeführt werden können | README | |
@atproto/common : Gemeinsamer Code und Helfer, die in Webbrowsern nicht funktionieren | README | |
@atproto/crypto : kryptografische Signatur und Schlüsselserialisierung | README | |
@atproto/identity : DID und verarbeitete die Auflösung | README | |
@atproto/lexicon : Schemadefinitionssprache | README | |
@atproto/repo : Datenspeicherstruktur, einschließlich MST | README | |
@atproto/syntax : String-Parser für Bezeichner | README | |
@atproto/xrpc : clientseitige HTTP-API-Helfer | README | |
@atproto/xrpc-server : serverseitige HTTP-API-Helfer | README |
TypeScript-Dienste:
pds
: „Personal Data Server“, der Repo-Inhalte für Atproto-Konten hostet. Der meiste Implementierungscode in packages/pds
, mit Laufzeit-Wrapper in services/pds
. Anweisungen zum Selbsthosting finden Sie unter bluesky-social/pds.bsky
: AppView-Implementierung der app.bsky.*
API-Endpunkte. Läuft im Hauptnetzwerk unter api.bsky.app
. Der meiste Implementierungscode in packages/bsky
, mit Laufzeit-Wrapper in services/bsky
. Lexikons: Sowohl com.atproto.*
als auch app.bsky.*
sind in diesem Repo vorerst unter ./lexicons/
kanonisch versioniert. Dabei handelt es sich um JSON-Dateien in der Schemadefinitionssprache Lexicon, ähnlich dem JSON-Schema oder OpenAPI.
Interoperabilitätstestdaten: Die sprachneutralen Testdateien in ./interop-test-files/
können für andere Protokollimplementierungen nützlich sein, um sicherzustellen, dass sie der Spezifikation korrekt folgen
Den Quellcode für die Bluesky Social-Client-App (für Web und Mobilgeräte) finden Sie unter bluesky-social/social-app.
Der Quellcode der Programmiersprache Go liegt in bluesky-social/indigo vor, einschließlich der BGS-Implementierung.
Wir empfehlen nvm
für die Verwaltung von Node.js-Installationen. Dieses Projekt erfordert Node.js Version 18. pnpm
wird verwendet, um den Arbeitsbereich mehrerer Pakete zu verwalten. Sie können es mit npm install --global pnpm
installieren.
Es gibt ein Makefile, das bei grundlegenden Entwicklungsaufgaben helfen kann:
# 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
Das Authenticated Transfer Protocol („ATP“ oder „atproto“) ist ein dezentrales Social-Media-Protokoll, das von Bluesky PBC entwickelt wurde. Erfahren Sie mehr unter:
Die Bluesky Social-Anwendung umfasst eine Reihe von Schemata und APIs, die im gesamten AT-Protokoll-Framework integriert sind. Der Namespace für diese „Lexikons“ ist app.bsky.*
.
Wir akzeptieren zwar Beiträge, priorisieren jedoch qualitativ hochwertige Probleme und Pull-Requests. Durch die Einhaltung der folgenden Richtlinien wird eine zeitnahere Überprüfung gewährleistet.
Regeln:
Richtlinien:
Denken Sie daran, dass wir eine breite Benutzergemeinschaft bedienen. In unserem Alltag stellen wir uns ständig die Frage: „Welche oberste Priorität ist unsere oberste Priorität?“ Wenn Sie gut geschriebene PRs einreichen, die Probleme prägnant lösen, ist das ein großartiger Beitrag. Ansonsten haben wir, so sehr wir Ihre Ideen und Beiträge auch gerne annehmen würden, wirklich nicht die nötige Bandbreite.
Bluesky ist ein offenes soziales Netzwerk, das auf dem AT-Protokoll basiert, einer flexiblen Technologie, die Entwickler niemals aus den Ökosystemen ausschließt, an deren Aufbau sie beteiligt sind. Mit atproto können Drittanbieter durch benutzerdefinierte Feeds, Verbunddienste, Clients und mehr genauso nahtlos agieren wie Erstanbieter.
Wenn Sie Sicherheitsprobleme feststellen, senden Sie bitte eine E-Mail an [email protected]. Die E-Mail wird automatisch an das gesamte Team gesendet und wir werden umgehend antworten. Weitere Informationen finden Sie unter SECURITY.md.
Dieses Projekt ist unter den Bedingungen von MIT und Apache 2.0 doppelt lizenziert:
Nachgelagerte Projekte und Endbenutzer können nach eigenem Ermessen eine der Lizenzen einzeln oder beide zusammen wählen. Die Motivation für diese Doppellizenzierung ist die zusätzliche Softwarepatentsicherung durch Apache 2.0.