¡Bienvenidos amigos!
Este repositorio contiene la implementación de referencia de Bluesky del protocolo AT y del backend del servicio de aplicación de microblogging app.bsky
.
Paquetes de mecanografiado:
Paquete | Documentos | MNP |
---|---|---|
@atproto/api : biblioteca cliente | LÉAME | |
@atproto/common-web : código compartido y ayudas que pueden ejecutarse en navegadores web | LÉAME | |
@atproto/common : código compartido y ayudas que no funcionan en navegadores web | LÉAME | |
@atproto/crypto : firma criptográfica y serialización de claves | LÉAME | |
@atproto/identity : DID y resolución de manejo | LÉAME | |
@atproto/lexicon : lenguaje de definición de esquema | LÉAME | |
@atproto/repo : estructura de almacenamiento de datos, incluido MST | LÉAME | |
@atproto/syntax : analizadores de cadenas para identificadores | LÉAME | |
@atproto/xrpc : ayudantes de API HTTP del lado del cliente | LÉAME | |
@atproto/xrpc-server : ayudantes de API HTTP del lado del servidor | LÉAME |
Servicios de mecanografiado:
pds
: "Servidor de datos personales", que aloja contenido de repositorio para cuentas atproto. La mayor parte del código de implementación está en packages/pds
, con un contenedor de tiempo de ejecución en services/pds
. Consulte bluesky-social/pds para obtener instrucciones sobre el autohospedaje.bsky
: implementación de AppView de los puntos finales de API app.bsky.*
. Ejecutándose en la red principal en api.bsky.app
. La mayor parte del código de implementación está en packages/bsky
, con un contenedor de tiempo de ejecución en services/bsky
. Léxicos: tanto com.atproto.*
como app.bsky.*
están versionados canónicamente en este repositorio, por ahora, en ./lexicons/
. Estos son archivos JSON en el lenguaje de definición de esquemas Lexicon, similar a JSON Schema u OpenAPI.
Datos de prueba de interoperabilidad: los archivos de prueba de idioma neutro en ./interop-test-files/
pueden ser útiles para otras implementaciones de protocolo para garantizar que sigan la especificación correctamente.
El código fuente de la aplicación cliente Bluesky Social (para web y dispositivos móviles) se puede encontrar en bluesky-social/social-app.
El código fuente del lenguaje de programación Go está en bluesky-social/indigo, incluida la implementación de BGS.
Recomendamos nvm
para administrar instalaciones de Node.js. Este proyecto requiere Node.js versión 18. pnpm
se utiliza para administrar el espacio de trabajo de múltiples paquetes. Puedes instalarlo con npm install --global pnpm
.
Hay un Makefile que puede ayudar con las tareas básicas de desarrollo:
# 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
El Protocolo de transferencia autenticado ("ATP" o "atproto") es un protocolo de redes sociales descentralizado, desarrollado por Bluesky PBC. Obtenga más información en:
La aplicación Bluesky Social abarca un conjunto de esquemas y API creados en el marco general del Protocolo AT. El espacio de nombres para estos "Lexicons" es app.bsky.*
.
Si bien aceptamos contribuciones, priorizamos los problemas de alta calidad y las solicitudes de extracción. Cumplir con las siguientes pautas garantizará una revisión más oportuna.
Normas:
Pautas:
Recuerde, servimos a una amplia comunidad de usuarios. Nuestro día a día implica que nos preguntemos constantemente "cuál es nuestra máxima prioridad". Si envía relaciones públicas bien redactadas que resuelvan problemas de manera concisa, será una contribución increíble. De lo contrario, por mucho que nos encantaría aceptar sus ideas y contribuciones, realmente no tenemos el ancho de banda.
Bluesky es una red social abierta basada en el protocolo AT, una tecnología flexible que nunca excluirá a los desarrolladores de los ecosistemas que ayudan a construir. Con atproto, los servicios de terceros pueden ser tan fluidos como los propios a través de feeds personalizados, servicios federados, clientes y más.
Si descubre algún problema de seguridad, envíe un correo electrónico a [email protected]. El correo electrónico se envía automáticamente en CC a todo el equipo y responderemos a la brevedad. Consulte SECURITY.md para obtener más información.
Este proyecto tiene doble licencia según los términos de MIT y Apache 2.0:
Los proyectos intermedios y los usuarios finales pueden elegir una licencia individualmente o ambas juntas, a su discreción. La motivación para esta doble licencia es la garantía adicional de patentes de software proporcionada por Apache 2.0.