I did some writing about Jetstream, a lightweight version of the AT Proto firehose that's plain JSON over a websocket and without the MST/verification.
It makes getting started building on AT Proto or Bluesky a lot lower friction if you trust your Jetstream operator.
https://jazco.dev/2024/09/24/jetstream/
It makes getting started building on AT Proto or Bluesky a lot lower friction if you trust your Jetstream operator.
https://jazco.dev/2024/09/24/jetstream/
Comments
If you're building a bot, some fun side-project, or anything else that wants to consume the firehose but can't afford the bandwidth/compute, Jetstream is a decent alternative.
I really want to make custom feeds for each individual label in @warlabel.bsky.social
https://bsky.app/profile/mackuba.eu/post/3l4wj7dlfjt2z
If you're running a local instance of JetStream, aren't you paying for the bandwith already? Where is the savings?
It makes sense as an official BlueSky JetStream.
But for a sole local consumer, it ought to be less efficient than a CBOR reading library?
- your firehose client written in a "not real language" is much slower than Jetstream's so you offload that to the Jetstream process and only deal with parsed records
- there isn't any good firehose client lib in the language you use yet and it's easier to just parse JSON
https://bsky.app/profile/oyin.bo/post/3l4w325vkz42d
If a browser keeps up with raw firehose, it'd be embarrassing for some big server to struggle, no?
https://bsky.app/profile/oyin.bo/post/3l4w325vkz42d
wss://...
👆 is an end-to-end encrypted connection.
In the end the BlueSky PDS data is verified via the same DNS as the BlueSky JetStream.
Part of what makes AT Proto "Authenticated" is that no matter how many entities sit between you and the data, you can verify it's authenticity and completeness on your end.