Selamat datang teman!
Repositori ini berisi implementasi referensi Bluesky atas Protokol AT, dan backend layanan aplikasi mikroblog app.bsky
.
Paket TypeScript:
Kemasan | dokumen | NPM |
---|---|---|
@atproto/api : perpustakaan klien | BACA SAYA | |
@atproto/common-web : kode bersama dan pembantu yang dapat dijalankan di browser web | BACA SAYA | |
@atproto/common : kode bersama dan pembantu yang tidak berfungsi di browser web | BACA SAYA | |
@atproto/crypto : penandatanganan kriptografi dan serialisasi kunci | BACA SAYA | |
@atproto/identity : MELAKUKAN dan menangani resolusi | BACA SAYA | |
@atproto/lexicon : bahasa definisi skema | BACA SAYA | |
@atproto/repo : struktur penyimpanan data, termasuk MST | BACA SAYA | |
@atproto/syntax : pengurai string untuk pengidentifikasi | BACA SAYA | |
@atproto/xrpc : pembantu HTTP API sisi klien | BACA SAYA | |
@atproto/xrpc-server : pembantu HTTP API sisi server | BACA SAYA |
Layanan TypeScript:
pds
: "Server Data Pribadi", menghosting konten repo untuk akun atproto. Sebagian besar kode implementasi di packages/pds
, dengan pembungkus runtime di services/pds
. Lihat bluesky-social/pds untuk petunjuk tentang hosting mandiri.bsky
: Implementasi AppView dari titik akhir API app.bsky.*
. Berjalan di jaringan utama di api.bsky.app
. Sebagian besar kode implementasi di packages/bsky
, dengan pembungkus runtime di services/bsky
. Leksikon: untuk com.atproto.*
dan app.bsky.*
secara kanonik diversi dalam repo ini, untuk saat ini, di bawah ./lexicons/
. Ini adalah file JSON dalam bahasa definisi skema Lexicon, mirip dengan Skema JSON atau OpenAPI.
Data Uji Interoperabilitas: file pengujian netral bahasa di ./interop-test-files/
mungkin berguna untuk implementasi protokol lain untuk memastikan bahwa mereka mengikuti spesifikasi dengan benar
Kode sumber untuk aplikasi klien Bluesky Social (untuk web dan seluler) dapat ditemukan di bluesky-social/social-app.
Kode sumber bahasa pemrograman Go dalam bluesky-social/indigo, termasuk implementasi BGS.
Kami merekomendasikan nvm
untuk mengelola instalasi Node.js. Proyek ini memerlukan Node.js versi 18. pnpm
digunakan untuk mengelola ruang kerja beberapa paket. Anda dapat menginstalnya dengan npm install --global pnpm
.
Ada Makefile yang dapat membantu tugas pengembangan dasar:
# 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
Authenticated Transfer Protocol ("ATP" atau "atproto") adalah protokol media sosial terdesentralisasi, yang dikembangkan oleh Bluesky PBC. Pelajari lebih lanjut di:
Aplikasi Bluesky Social mencakup serangkaian skema dan API yang dibangun dalam kerangka AT Protocol secara keseluruhan. Namespace untuk "Lexicons" ini adalah app.bsky.*
.
Meskipun kami menerima kontribusi, kami memprioritaskan masalah berkualitas tinggi dan permintaan tarik. Mematuhi pedoman di bawah ini akan memastikan peninjauan yang lebih tepat waktu.
Aturan:
Pedoman:
Ingat, kami melayani komunitas pengguna yang luas. Kehidupan kita sehari-hari melibatkan kita terus-menerus menanyakan "prioritas utama mana yang menjadi prioritas utama kita". Jika Anda mengirimkan PR yang ditulis dengan baik dan memecahkan masalah secara ringkas, itu adalah kontribusi yang luar biasa. Jika tidak, meskipun kami sangat ingin menerima ide dan kontribusi Anda, kami sebenarnya tidak memiliki bandwidth.
Bluesky adalah jaringan sosial terbuka yang dibangun berdasarkan Protokol AT, sebuah teknologi fleksibel yang tidak akan pernah menghalangi pengembang dari ekosistem yang mereka bantu bangun. Dengan atproto, pihak ketiga bisa berjalan lancar seperti pihak pertama melalui umpan khusus, layanan gabungan, klien, dan banyak lagi.
Jika Anda menemukan masalah keamanan apa pun, silakan kirim email ke [email protected]. Email tersebut secara otomatis dikirimkan ke seluruh tim, dan kami akan segera meresponsnya. Lihat SECURITY.md untuk info lebih lanjut.
Proyek ini memiliki lisensi ganda berdasarkan persyaratan MIT dan Apache 2.0:
Proyek hilir dan pengguna akhir dapat memilih lisensi secara individual, atau keduanya secara bersamaan, sesuai kebijakan mereka. Motivasi pemberian lisensi ganda ini adalah jaminan paten perangkat lunak tambahan yang disediakan oleh Apache 2.0.