Mon, Mar 6, 2023
- Aaron Goldman23:08
In reply to this message
Good to make an explicit policy here. At least you should not give away the trade-in until you know it is final after the time window for a rotation_key reverting the operation. - @evbogue:matrix.org23:09Well key rotation isn't real
- whyrusleeping23:09Silence heathen
- @evbogue:matrix.org23:09You can only point
- 23:10I silence myself in the old nordic tradition
- snarfed23:21I don't know the social network policy hell equivalent of :hugops:, but whatever it is...I'm sending you all lots of that
- 23:21it's all uphill from here 😬
- 23:27retore joined the room
- 23:29Vishal Gulia joined the room
Tue, Mar 7, 2023
- Aaron Goldman
- Aaron Goldman00:16
In reply to this message
Key rotation is exactly as real as transactions that committed or aborted.
Iif a database can have strict serializable consistency we can have key rotation. - 01:25ivan joined the room
- @syui:syui.cf02:15
whyrusleeping: If the
bsky.socialhandle is stolen by someone else, can handle.update restore it?custom handle
- whyrusleeping02:16You can switch back if its not taken
- @syui:syui.cf02:16ok thx!
- 02:21XXX XXX joined the room
- 03:19Kabir joined the room
- 03:53Camille joined the room
- 04:37@szumr:matrix.org joined the room
- 04:39szumr changed their display name to rieck
- 04:40rieck changed their display name to szumr
- @szumr:matrix.org04:52I like to have an invite, too, please.
- @planetoryd:matrix.org
- @syui:syui.cf06:54Message deleted
- 08:08maxpeacock joined the room
- 08:11glassportals joined the room
- 08:23@silverkey027:matrix.org joined the room
- 08:24@silverkey027:matrix.org left the room
- 08:25Bram joined the room
- @syui:syui.cf08:47
Added custom-handle function to the client
1234567891011121314
# web : bsky.syui.cf -> login -> profile -> custom-handle # Note: re-login # cli : github.com/syui/atr $ cargo build $ vim ~/.config/atr/congit.toml host = "bsky.social" pass = "xxx" user = "xxx.bsky.social" $ ./target/debug/atr h vvv.bsky.social or $ ./target/debug/atr h example.com # Note: change -> config.toml # user = "example.com"
(edited) - 09:01Andrew Welsh joined the room
- 09:10radala joined the room
- 09:13Cody Choi joined the room
- 09:32ismailsafwat joined the room
- ismailsafwat09:33Message deleted
- ismailsafwat09:36any chance to get an invite code here?
- panji.bsky.social10:01Dm whyrusleeping
- valueclick10:40I see that you have added a translation feature in the latest version. This is a great help. Thank you very much.
- 10:53xnf0k joined the room
- xnf0k10:53Hey, not sure where's the right place to ask, I have a question about the DNS resolution for handles. Does it happen on the client side or server?
- b0gg3r10:55What's a server
- xnf0k11:02
In reply to this message
I'm almost completely new to bluesky/ATP so may be wrong here, but I think I'm talking about PDS - b0gg3r11:13As it stands the PDS verifies that the DID controller is in control of the domain, and then uses that domain as your handle
- 11:14Though there will be another verified method via XRPC
- xnf0k11:22
In reply to this message
I see. Do clients/apps verify this? (by resolving the TXT locally, etc.) - b0gg3r11:25I don't know At the protocol level, they should, but it's possible that gets outsourced to a server by the app developer
- xnf0k11:26Got it, thanks for the info!
- 11:26Any idea what the bluesky app in private beta does?
- 11:37echarles joined the room
- snarfed11:52currently in the bluesky private beta, the PDS verifies DNS, not the client app
- xnf0k11:55Okay (mostly) the last Q: when can we start self hosting PDS'?
- snarfed11:56afaict, now! it would be hard because a lot of what you need is incompletely documented and changing rapidly
- 11:56it will settle down and docs will expand eventually
- xnf0k11:57Oh I did see a `pds` package on GitHub but didn't think much of it. Will try it out and be back here.
- Aaron Goldman14:003091
did:plc:
s as of 2023-03-07T19:51:40.994Z 😎(edited) - os7on14:02What code is this please
- @evbogue:matrix.org14:14
In reply to this message
The number of timesdid:plc:${base32Encode(sha256(createOp)).slice(0,24)
has been run so far, I think. - os7on14:15Thanks 🙏🏽
- @evbogue:matrix.org
- 15:06@truethomas7:matrix.org left the room
- 15:12rohitaggarwal joined the room
- 17:53hallooow joined the room
- hallooow17:54Hi there, how may I get a blusky invite code?
- Aaron Goldman17:55
In reply to this message
Worth noting that it is cbor if your op is JSON you will not get the did.
1
did:plc:${base32(sha256(cbor(createOperation))).slice(0, 24)}
base32(5 bits per char) * 24 char = 120 bits of security
- Aaron Goldman18:02Bitcoin Hashrate All Time High on Feb 27, 2023 at block 778,469 413.82 EH/s ~ 68.48 bits
- 18:36Eren Kaplan changed their display name to hellstabber
- 18:37@toranosora:matrix.org changed their profile picture
- 18:55Ahmad Chamzeh Pour joined the room
- Ahmad Chamzeh Pour18:55Hi
- 18:57gcambefort joined the room
- Ahmad Chamzeh Pour18:57Hi i need invite code
- 22:41James (@cryptowww:matrix.org) joined the room
- James@cryptowww:matrix.org22:44Hello, any one can send an invited code , thank u guys🤝🤝
- 22:47Bluesky is a great product, it need more test ,especially by user experiences 😀😀
- 22:49James (@cryptowww:matrix.org) set a profile picture
- 22:53James chuh changed their display name to James
- panji.bsky.social
- 23:50os7on set a profile picture
Wed, Mar 8, 2023
- 01:08@char.mitro:matrix.org left the room
- 01:56Surya Kiran Majji joined the room
- 02:05Thib (away on March 7 ✊) changed their display name to Thib
- 03:25farnam1997 joined the room
- farnam199703:27Hi all anyone can send an invite code for Bluesky to me?
- 03:28@kianooshaz:matrix.org joined the room
- @kianooshaz:matrix.org03:30Hi, anyone can send an invite code for Bluesky to me?
- 03:31@kianooshaz:matrix.org removed their display name (Kianoosh Ashayeri Zade)
- Konrad Wiktor03:35hi anyone can send me invite code?
- 03:52giladbeeri joined the room
- 04:10Owen Billingham joined the room
- 04:10ifyouknow changed their display name to Owen Billingham
- 06:20@szumr:matrix.org left the room
- 08:00ches joined the room
- 09:09@01test:matrix.org left the room
- 09:18@eagain:matrix.org joined the room
- pfrazee09:46Hey everybody, please stop asking for an invite code. We're sending them out through the waitlist as fast as we can. You can sign up for the waitlist at https://bsky.app
- George Antoniadis
- pfrazee09:48heh yeah. We totally get it and there are moments when we like to share invites outside the process, but I don't want this channel to be nonstop requests for them
- 09:48besides, the REAL place to spam requests for invite codes is in our app store reviews
- George Antoniadis
- pfrazee09:49big time
- 09:49we have 150 reviews, I think maybe 2 of them are real
- 10:01Nick Kaufmann joined the room
- Soohan Park (Heartade)10:28What could be some options bsky could take to incentivize people to run instances/indexers? Running one's own server would cost time and money, and it would be hard to achieve scale relying on donations and volunteer works.
- xtianpu10:47
In reply to this message
Since it is decentralized, the first layer of thought should be "Community", pretty similar to fediverse. I have tried creating a mastodon instance for $8/mo. - ngerakines12:25Do servers themselves have DIDs?
- ngerakines12:38Or, maybe asked another way, lets say that a server exposes a did for a user
https://nick.cauda.cloud
and resolving theGET https://nick.cauda.cloud/.well-known/did.json
returns a valid json descriptor of the user. TheverificationMethod
for that user includes a{"id": "did:plc:something", "controller": "did:plc:something", ... }
element. Are those DIDs always going to resolve to the user or do those identify the PDS somehow? If they identify the PDS, what does the parent PDS DID look like? - Seth12:41Can I get an invite too please 🫰
- Aaron Goldman14:30
In reply to this message
I think you may be confusingdid:web:nick.cauda.cloud
withat://nick.cauda.cloud
when resolving adid:web
you https GET .well-known/did.json and that is the did document. The controller of the website is the controller of the DID.at://nick.cauda.cloud/
will translate your handle to a DID and proceed with that DID weather adid: web
or adid:plc
- 14:31the repo is bound to the DID not the handle that may change over time
- 15:12Daniel joined the room
- b0gg3r16:56Message deleted
- pcdkd19:50
In reply to this message
If it's anything like nostr, the better quality indexers will be paid. Reduces spam, filters content, etc. - @syui:syui.cf20:43I don't understand why the image is not displayed...
- 20:44
12345678
let file = e.target.files[0]; const files = new Blob([file], { type: 'image/png' }); superagent .post("https://bsky.social/xrpc/com.atproto.blob.upload") .set({'Authorization': this.token} .attach('file', this.files) .then(response => {})
(edited) - 21:47@luizjr8:matrix.org joined the room
- 22:16arcO joined the room
- @syui:syui.cf
- 22:16大堀 敦夫 changed their display name to arcO
- @syui:syui.cf20:52Please let me know if anyone knows a solution
- 22:17dai joined the room
Thu, Mar 9, 2023
- 00:22aminalfred changed their display name to Amin Mansouri
- James@cryptowww:matrix.org03:55
To new comers:
This group is for tech discuss, not for invite codepls don’t ask invite code again🤝
- @syui:syui.cf03:52com.atproto.session.refresh working?
- b0gg3r04:23Okay let's get back on the horse. Who's been thinking about a lexicon to implement an encryption layer
- @syui:syui.cf03:55
1
Token could not be verified
- 03:58
12345678910111213141516
let mut map = HashMap::new(); map.insert("did", &json.did); map.insert("handle", &json.handle); map.insert("accessJwt", &json.accessJwt); map.insert("refreshJwt", &json.refreshJwt); let url = "https://bsky.social/xrpc/com.atproto.session.refresh"; let client = reqwest::Client::new(); let res = client .post(&url) .json(&map) .header("Authorization", "Bearer ".to_owned() + &json.accessJwt) .send() .await? .text() .await?;
(edited) - ngerakines04:24I’ve been thinking about an event system. As in events, invitations, RSVP, etc.
- panji.bsky.social04:37I can't opened bsky profile anymore likewhy.bsky.socialorjack.bsky.social
- 04:37@rimuru:gentoo.chat changed their profile picture
- ngerakines
- George Antoniadis
- 09:26@l_tan:matrix.org left the room
- 09:27@l_tan:matrix.org joined the room
- 12:45Miley joined the room
- 13:08Chukwu joined the room
- 13:31@jonaharagon.com joined the room
- 15:50drgunn joined the room
- 19:25@guzzlima:matrix.org left the room
- snarfed22:37so one of the biggest design features of ATP is the combination of signing key, which the PDS has, and recovery key, which only the user has. https://atproto.com/guides/overview#account-portability I'm curious if the current beta iOS app generates a recovery key and keeps it client side only. I assume so? if so, I can't wait to eventually see it, export it, etc!
- 22:37purely curiosity right now, obviously no real need for it yet
- whyrusleeping22:51I actually dont know yet, the protocol allows for it but im not sure if thats been shipped yet…
- 22:59damon/ joined the room
Fri, Mar 10, 2023
- 01:32yutkat joined the room
- 02:20ion palamarciuc joined the room
- 03:01Kharec joined the room
- Kharec03:02hello bluesky devs !
- 03:03I saw on the blog that invitation codes are starting to be sent, is it global (like can we have one if we're in France) ? Or just US ?
- 03:04I'm excited to try this new social app :)
- Owen Billingham03:52
In reply to this message
I left a good (perhaps overly positive...) review 3 days ago that already shows up. Lesson I learned in the past: when people can download but not access the app (no invite), they quickly leave negative reviews. It will correct itself at due course. - Kharec03:54
In reply to this message
It's silly to leave a negative review when you don't have invite code (meaning you didn't have a chance to review the app) ... - Oren1 reply
- Oren04:08Note the "Cancel" button on iPhone 13 Pro and also on the macOS App. But it looks good on iPhone SE. Perhaps could be replaced with "X"?
- 05:14azing joined the room
- Kharec07:29any chance I can get an invite code here ? I'm also on the waitlist :)
- damon/07:43It’s already been posted before to not ask for invite codes or you’ll be blocked
- Kharec07:51woops, sorry.
- damon/07:55Just wanted to give you the heads up
- grin
- Alec Larson08:48is there a way to see a user's previous handles?
- 08:48or rather, will there be
- 09:50misaki M joined the room
- @nobodyu:matrix.org
- keyhan12:04Will bluesky support chat and private messaging like Twitter ?
- b0gg3r13:34
In reply to this message
Kinda. Their PLC server will give you a log of their username changes going back to the name their registered under - 16:49@jholmes8:matrix.org joined the room
- 16:53andrewm changed their display name to Andrea "andrewm" Mazzilli
- 16:54Andrea "andrewm" Mazzilli changed their display name to Andrea Mazzilli
- @jholmes8:matrix.org16:56Just wanted to share feedback on the custom domain handle. I've added the txt record to my website DNS with a TTL of 5 mins but even after waiting 24 hours I still get "Unable to resolve handle". The biggest issue with this, if it's a DNS propagation issue, is that I can't use the Bluesky app at all while waiting because if you leave the change my handle screen the value from the DNS record is reset and you have to start over again.
- 17:04@jholmes8:matrix.org removed their display name (Jason)
- xtianpu17:15Maybe a bit OOT, but just want to share this https://techcrunch.com/2023/03/09/meta-is-working-on-a-decentralized-social-app/?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAIlBlQ5Jbfl1i06ZFr_Br66T20NhaNzKgL7A9gOfrE-BS4pXVyaeedfsv6Xrx8PVZyTaZoKCA6Qqqt8HLZxbGmY9dWKUsV6nA42y29cxGap_l-iwChb8EReQRFc0VXmZ6s0Lxyj8WWyx8wBUkfkLZ9IrDx4UL-ri1w3Bz-4o58_T
- ngerakines17:27
In reply to this message
Hmm, that doesn't sound right. I just went through the process and had a similar, but different, issue. Yourdid
doesn't change. - ngerakines17:49
So if you were to run
curl -s "https://bsky.social/xrpc/com.atproto.handle.resolve?handle=ngerakines.me" | jq
you'd get back123
{ "did": "did:plc:cbkjy5n7bk3ax2wplmtjofq2" }
- 17:52
Then you can take that and query
plc.directoryto see the did:plc log withcurl -s https://plc.directory/did:plc:cbkjy5n7bk3ax2wplmtjofq2/log | jq
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
[ { "sig": "Z234aGNHJI47gYaVKtacOPnY46PMggQ-hkaMgW6GMlkXd3RCgH4sp8CJbkfjO1agIy8LK2Z0fHVzHzhWvAVwsA", "prev": null, "type": "plc_operation", "services": { "atproto_pds": { "type": "AtprotoPersonalDataServer", "endpoint": "https://bsky.social" } }, "alsoKnownAs": [ "at://ngerakines.bsky.social" ], "rotationKeys": [ "did:key:zQ3shhCGUqDKjStzuDxPkTxN6ujddP4RkEKJJouJGRRkaLGbg", "did:key:zQ3shP5TBe1sQfSttXty15FAEHV1DZgcxRZNxvEWnPfLFwLxJ" ], "verificationMethods": { "atproto": "did:key:zQ3shP5TBe1sQfSttXty15FAEHV1DZgcxRZNxvEWnPfLFwLxJ" } }, { "sig": "LAAQzzwenswhObfkErLtGOcu4guY5e-zYzftzUwDKFRqOOZZhtdbKODKDOdPSjSHGgR_TCi2fq5vv7FZY5C5mg", "prev": "bafyreiaqksohlpykwyf6vt23e2lrmgt4y66n4vcbqcihlejricj6il2r7u", "type": "plc_operation", "services": { "atproto_pds": { "type": "AtprotoPersonalDataServer", "endpoint": "https://bsky.social" } }, "alsoKnownAs": [ "at://ngerakines.bsky.social" ], "rotationKeys": [ "did:key:zQ3shhCGUqDKjStzuDxPkTxN6ujddP4RkEKJJouJGRRkaLGbg", "did:key:zQ3shpKnbdPx3g3CmPf5cRVTPe1HtSwVn5ish3wSnDPQCbLJK" ], "verificationMethods": { "atproto": "did:key:zQ3shXjHeiBuRCKmM36cuYnm7YEMzhGnCmCyW92sRJ9pribSF" } }, { "sig": "LCaCyGQivl0U0bChWF0IqNoLHPs_pecNHoCvkgROUlZR_rBIRM4y4tmnAjWH-kcm-6bz4Jb0Hx0DFEv_bshZnQ", "prev": "bafyreic4wotjm3tue3cra22723fdvujhhto3nue4gtpt2bs3pgzud2r7za", "type": "plc_operation", "services": { "atproto_pds": { "type": "AtprotoPersonalDataServer", "endpoint": "https://bsky.social" } }, "alsoKnownAs": [ "at://ngerakines.me" ], "rotationKeys": [ "did:key:zQ3shhCGUqDKjStzuDxPkTxN6ujddP4RkEKJJouJGRRkaLGbg", "did:key:zQ3shpKnbdPx3g3CmPf5cRVTPe1HtSwVn5ish3wSnDPQCbLJK" ], "verificationMethods": { "atproto": "did:key:zQ3shXjHeiBuRCKmM36cuYnm7YEMzhGnCmCyW92sRJ9pribSF" } } ]
- 17:54For the time being, the dns association method is managed by the bluesky PDS. With what is in the spec, in the future there will probably be some sort of negotiation or handshake to that requires some sort of two-way verification of the linked domain.
- Aaron Goldman18:40It is the users PDS that preforms the two-way verification. In theory a client could do it also if they wanted to.
- @jholmes8:matrix.org19:12
In reply to this message
You're right the did isn't changing when I leave the screen, I could have sworn it did previously but I guess I was wrong. I really can't figure this out, the record is exactly as instructed on the app but I cannot verify the DNS record. Looking at the system log I get a status 400 with the error "InvalidRequest". I've spent too much time trying to figure this out lol, it's driving me nuts - 20:47irafae7 joined the room
- xnf0k21:28What platforms does the app support currently? The pic on the site looks like an iPhone, so at least that I'm guessing? What about Android/Web? (I'm not asking for an invite)
- panji.bsky.social22:40
In reply to this message
According whyrusleeping, official web client coming in a week or two, then android after Sat, Mar 11, 2023
- @evbogue:matrix.org00:27At this point just sign the hashes and make it a web app. The point is to spread information, not contain it.
- 00:57Jitendra Jadav joined the room
- b0gg3r01:21There's nothing stopping anyone from making a web app if you are so inclines
- @evbogue:matrix.org01:23And you shall
- 04:06Ekid joined the room
- 04:08monkeysatwork joined the room
- xnf0k07:22So if I understand this right, bsky runs a hosted PDS that its users use by default. Is it possible to switch to a self hosted PDS in the same app?
- Aaron Goldman09:21
In reply to this message
For what it's worth I see both the
_atproto.ngerakines.me. IN TXT
DNS record and theplc.directoryso you have two-way verification.id 31451 opcode QUERY rcode NOERROR flags QR RD RA ;QUESTION _atproto.ngerakines.me. IN TXT ;ANSWER _atproto.ngerakines.me. 3600 IN TXT "did=did:plc:cbkjy5n7bk3ax2wplmtjofq2" ;AUTHORITY ;ADDITIONAL
- ngerakines09:35
In reply to this message
Yeah, I was just saying the dns thing wasn’t in the spec docs so I assumed it was a one-off that will be replaced by an xrpc based mechanism in the future. - Aaron Goldman10:32
In reply to this message
The tricky part there is defining priority order.
We want to be able to verify domain names by DNS.
We want to be able to verify domain names by https.If a DID Document has many AKAs some using DNS and Others using https fine. As long as the other is silent.
If there is a domain name where the DNS points to one DID and the https points to a different DID. Both DID Documents AKA back to the domain name.
What should be done with that?Once the list of ways to validate a domain and the priority is decided it should be added to the spec until then it may be premature.
xrpc,
/.well-known/_atproto,
DNS TXT,
_atproto.DNS,
Something else?Personally I lean towards only the well-known and _atproto.handel DNS TXT
But I get why xrpc is compelling for domains that are running PDSsWith all dew respect to DNSsec I'm leaning towards https having priority over DNS because the CA have historically been less spoofed than DNS but meh 😕. There just needs to be a closed set of domain name verifications and an ordered priority so at:\handel\path URIs resolve unambiguously.
- ngerakines10:35
Yeah, personally I think DNS is the way to go, but it does raise the bar to entry. In an ideal world, if someone wanted to have their own domain then they could generate some static files to serve OR have a couple of DNS entries to create and boom.
One thing that threw me off was the use of
GET .well-known/did.json
in the DID spec, but not the atproto spec. - 10:38
The issue with DNS is that it doesn't tell you to then run subsequent DNS queries.
12
dig +short -t txt _atproto.ngerakines.me "did=did:plc:cbkjy5n7bk3ax2wplmtjofq2"
- 10:39
So like, with DNS the order of operations is ...
- Server gets reference to
ngerakines.me
- Server does TXT lookup of
_atproto.ngerakines.me
- Server gets a DID
- ... where do they make xrpc calls to get more info?
(edited) - Server gets reference to
- Aaron Goldman10:40HTTPS GETexample.com/. well-known/_atproto.txt ≠ HTTPS GETexample.com/. well-known/did.json But _atproto.txt cloud be "did=did:web:example.com" 🤷♂️
- ngerakines10:40
With HTTPS you can do
- Server gets reference to
ngerakines.me
- Server makes
GET ngerakines.me/.well-known/_atproto
- Server receives a DID with
services
block pointing to PDSbsky.social - Server makes
GET https://bsky.social/xrpc/com.atproto.handle.resolve?handle=ngerakines.me
- Server gets reference to
- 10:42Segment joined the room
- ngerakines10:43I kind of think a service record is a better fit for that data.
- 10:45
https://en.wikipedia.org/wiki/SRV_record
12
dig +short -t SRV _pds._TCP._atproto.ngerakines.me 100 100 443 bsky.social.
- ngerakines10:52Matrix chat, for example, uses it as a complimentary lookup mechanism in addition to .well-known requests: https://spec.matrix.org/unstable/server-server-api/#server-discovery
- Aaron Goldman10:52
In reply to this message
Actually for companies that already have lots of infrastructure around protecting their website and are unlikely to forget to pay the name bill and lose their domain using did:web makes a lot of sense. For individuals I think did:plc makes more sense as your preferred domain name change across your life. - ngerakines10:53yeah
- 10:55My operating assumption is that the vast majority of users are going to have a handle based on medium/large PDS likebsky.social. Next to that will be people who have their own vanity domain but still use a medium/large PDS for all of the actual heavy lifting, making that domain just a discovery mechanism. Last will be people and organizations that host their own PDS.
- 10:56That's loosely based on my experience in the tech world and from being in the activitypub/mastodon world for a while.
- @planetoryd:matrix.org10:57so you decentralize the consensus, and therefore Matrix has a bad model
- ngerakines
- Aaron Goldman
- Aaron Goldman11:07
In reply to this message
After 3. Server gets a DID
There are two options.
They can hitplc.directoryto get the operation log for the DID Document.
They can call their own PDS ask for the DID Document. Their PDS is probably pulling https://plc.directory/export regularly and has the full database of all did:plc operations. - ngerakines11:09:\ I really don't like howplc.directoryis needed for user discovery. That services attribute exists for a reason and needs to be leveraged in user discovery.
- Aaron Goldman11:11One of the goals that leads to the need forplc.directorywas that if you use a DID rather than a domain name in the at:// uri that the system is not dependent on DNS at all
- ngerakines11:12Yeah, that makes sense fwiw
- Aaron Goldman11:12So it can be used with no name bill
- 11:14The DNS name based handles was just supposed to be a way to get to a DID from a human friendly string.
- 11:15Funya Funya joined the room
- Aaron Goldman11:17For that you need some kind of name service and DNS already has a lot of work in it to deal with things like trademark. On the list of things I don't want to build: https://www.icann.org/resources/pages/help/dndr/udrp-en
- 11:22plc.directoy just needs to be a public append only timestamped ordered leger. For now a single server at some point later Bluesky PBLLC can share control of it with the PDS operators but no point designing that structure until there is a community of PDS operators who's opinion can be taken into account.
- ngerakines11:22yeah
- Aaron Goldman11:25Sorry I feel like every answer I gave today was basically kicking the can down the road.
- ngerakines11:26nah, this is super useful
- 11:26I'm sure all of this is going to evolve when bluesky goes from 1 to 2
- Aaron Goldman11:27Do you have opinions on what the order of DNS vs https Of well-known vs xrpc
- ngerakines11:28As we were talking, I kind of had a thought about DNS. We can effectively ensure that servers are using HTTPS, but it is a little more complicated to force servers to use DNSSEC.
- 11:29Nevermind, I suppose if DNS isn't a secure channel then HTTPS channels are also at risk regardless.
- 11:30idk, I really like using DNS to look stuff up but there is a lot of grey area here about what type of data and meta-data is a good fit for DNS.
- Aaron Goldman11:31If DNS was secure we would not need CAs just put the certificate hash in the DNS record. Save everyone a lot of time and money 🤑
- ngerakines11:31yeah
- xnf0k11:32
In reply to this message
DANE is exactly this, with a TLSA record with a hash of the TLS certificate - Matthew11:35fwiw on matrix we started with srv and then added well-known, and now support both
- 11:36simply because sometimes orgs can edit dns easily, and sometimes easy to edit the webroot
- 11:36it also depends on who can print tls certs for the apex or subdomains
- 11:37that said, a bunch of people dislike that complexity, and petition to remove SRV
- 11:38i think this is an error though, especially given the number of people who constantly delete their .well-known from the webroot
- 11:38(typically every time they redesign their website)
- 11:38whereas deleting dns records is much harder.
- 11:38</in case it’s useful>
- 11:41spiderham left the room
- Matthew
- ngerakines11:43interesting
- Matthew11:43with the end result being https://spec.matrix.org/v1.6/server-server-api/#resolving-server-names(edited)
- 11:43even
- Matthew11:51/me feels like a bit of a failure to have not layered Matrix sufficiently that it could be used to help on this
- ngerakines11:57Aaron Goldman: I think that I'm getting closer: https://github.com/ngerakines/atproto-rs/blob/main/QUESTIONS.md#user-creation
- ngerakines12:01I get that the definition of the create op is a little loosey goosey at the moment.
- 12:03
If the user did generation is strict on
did:plc:${base32Encode(sha256(createOp)).slice(0,24)}
then it'll be possible to have duplicates if users don't submit recovery keys.- User 1 creates account as nick with no recovery key.
- User 1 changes their handle to nickg (did is the same because create op is not different)
- User 2 attempts to create account as nick with no recovery key. Creation fails because create op would be the same, thus did would be the same.
- 12:05I don't see anything in
curl -s https://plc.directory/did:plc:cbkjy5n7bk3ax2wplmtjofq2/log | jq '.'
to force uniqueness between create ops. Introducing a timestamp would or forcing a unique recovery key would help. - 12:06Also, these ops should be versioned and that version should be part of the encoding and signature.
- 12:10電子馬 joined the room
- ngerakines12:19Added HTTPS and DNS user discovery to https://github.com/ngerakines/atproto-rs/blob/main/QUESTIONS.md#user-discovery-https
- snarfed14:24
In reply to this message
the other standard approach here is to fail if they conflict, instead of defining an order of precedence. I often like that because it tries to prevent surprises and confusion. if the two are disagreeing, you're not as confident that you're following the user's intent, and anyone else who sees the conflict down the road will be confused too - 14:24nudging the user to fix that conflict is usually the right idea
- Aaron Goldman19:58
Daniel Holmgren: Do you remember why we used
common. Bytes
akaz.instanceof(Uint8Array)
as the key type in the MST and notz.string()
? The paths are all url paths and should be strings.12345
"k": { "/": { "bytes": "YXBwLmJza3kuZmVlZC5wb3N0LzNqcHp1a2hlZWkyMjI" } },
is a little less readable then
1
"k": "app.bsky.feed.post/3jpzukheei222"
when I view the dag-cbor as dag-json
- 20:01Note in the dag-cbor they are the same number of bytes it is not an efficiency difference.
- 20:02the Uint8Array and UTF-8 string are only one bit different in the type byte
- 20:07@fudan10u:matrix.org joined the room
Sun, Mar 12, 2023
- 10:17T5 joined the room
- 11:01ismailsafwat set a profile picture
- @jholmes8:matrix.org16:22Just to follow up on my issues with using a domain for a username - it turns out i'm dumb and was following the direction on the app to copy the information as presented for the DNS domain which was "_atproto.domain.com" so that is what I put in. After days of head scratching trying to figure out why it wasn't working I realized it should just be "_atproto" (obviously in retrospect) but I was following along with the instructions on the app. Worked right away once I realized the issue. Might be something to consider regarding how that information is presented in the future on the custom domain page
- sylphrenetic17:02
In reply to this message
I did the same thing for like 20 minutes and was just like ??? until I realized - 17:03agree that the instructions could be clearer
- 23:22harbuzi zhang joined the room
Mon, Mar 13, 2023
- 02:07Arun Vithyasegar joined the room
- 05:26jiftechnify joined the room
- 06:51rain_256 joined the room
- 07:45Mohammad Sadegh Foroughi joined the room
- Mohammad Sadegh Foroughi07:48Hey guys, I've just curious about what you do guys here. Is BlueSky fully open-source? Or are you just developing some Apps on AT protocol?(edited)
- xtianpu07:53
In reply to this message
I think their current phase is still in beta about the UI/UX bro, so I believe the phase for devs is still in alpha. that's why the docs are still incomplete due to massive future change. - sylphrenetic14:04
In reply to this message
it's my understanding that the AT protocol is fully open-sourced currently, but Bluesky the application is not yet. it will be eventually.
in this chat we're mostly just discussing Bluesky, the AT protocol, and anything related to them
- 18:21@rimuru:gentoo.chat changed their profile picture
- bnewbold18:49
In reply to this message
we just changed this recently. bytes seems more correct for a low-level datastructure like this. two specific issues were inconsistency counting prefix chars in typescript (UTF-16) and almost any other language (UTF-8), and the possibility of splitting unicode codepoints, resulting in invalid/inconsistent strings. note that both of these impact only non-ASCII strings, and we do specify that MST paths need to be (URL-safe) ASCII, but might relax that in the future, and want to avoid weird corner casesIn reply toAaron GoldmanDaniel Holmgren: Do you remember why we used
common. Bytes
akaz.instanceof(Uint8Array)
as the key type in the MST and notz.string()
? The paths are all url paths and should be strings.12345
"k": { "/": { "bytes": "YXBwLmJza3kuZmVlZC5wb3N0LzNqcHp1a2hlZWkyMjI" } },
is a little less readable then
1
"k": "app.bsky.feed.post/3jpzukheei222"
when I view the dag-cbor as dag-json
(edited) - Aaron Goldman
- @evbogue:matrix.org
- 22:48kohji_miyazaki joined the room
Tue, Mar 14, 2023
- 00:37niruy joined the room
- 01:48niruy set a profile picture
- 09:08@cyberbiopunk:matrix.org joined the room
- 14:42mayankbatra joined the room
- mayankbatra14:43Is this the best place to find an invite code?
- b0gg3r14:48No
- mayankbatra14:51My bad. Sorry
- 15:40biribinha. joined the room
- 15:42biribinha. set a profile picture
- @evbogue:matrix.org20:10
In reply to this message
This is like such a great opportunity for friend of a friend invite codes. We'll collectively work on that one. - 20:11The knowledge from the network graph would be phenomenal.
- 20:11The harvest! Think of it
- amazingca22:48Bluesky’s in-progress web app: https://staging.bsky.app
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:53Brilliant!
- @syui:syui.cf22:51very nice
- @evbogue:matrix.org
- @evbogue:matrix.org23:26I mean these days a website is brilliant, but still!
- 23:27It could be so much more
Wed, Mar 15, 2023
- panji.bsky.social
- amazingca01:16
In reply to this message
If you notice any bugs, you can report them here: https://docs.google.com/forms/d/e/1FAIpQLSdavFRXTdB6tRobaFrRR2A1gv3b-IBHwQkBmNZTRpoqmcrPrQ/viewform?usp=sf_link - 02:29ひょうたん joined the room
- zyolluax
- amazingca
- xtianpu
- bnewbold11:29Hey folks, especially devs doing integrations: we have a big series of breaking changes to Lexicons going out this week, and possibly a bit in to next week. They are mostly not radical changes, but renaming things that could break existing tools and libraries. They will come in a couple waves, so you might want to wait until they all land. I'm not sure if docs will be up-to-date as it goes, but you can follow along in github issues/PRs as the changes land. Sorry for the disruption! We hope that this is the last batch of breaking changes, this was the last chance to get them through before things stabilize.
- xtianpu
- 12:11Scrollbar is squatting when scrolling to whyrusleeping: reply
- 16:51David Chen joined the room
- David Chen16:51sup
- 17:57gavazn joined the room
- 18:15nuledg joined the room
- @syui:syui.cf20:13Is it possible to type:create inplc.directory? I get error "Invalid signature on op"
- 23:55youssefsalem joined the room
- @syui:syui.cf20:15
1
sig=${uint8arrays.toString(await keypair.sign(data), 'base64url')}
123456789
{ "type": "create", "signingKey": "$skey", "recoveryKey": "$rkey", "handle": "admin.example.com", "service": "https://example.com", "prev": null, "sig": "$sig" }
(edited) - youssefsalem23:58hey devs can anyone send me an invite for bluesky?
Thu, Mar 16, 2023
- 00:22youssefsalem set a profile picture
- 01:13shaudubey joined the room
- 03:16@morotesovtannu:ohai.su joined the room
- @syui:syui.cf05:47solved. thank you!
- 09:58fouldear joined the room
- 10:04fouldear set a profile picture
- fouldear10:18did you get one? 🤔 this seams more like a 'slay the 🦑' channel not a 'get a 🦑' one 🤷
- snarfed11:07
In reply to this message
good timing, and great minds, I expected basically the same thing when I cut the latest lexrpc release a few days ago: https://lexrpc.readthedocs.io/en/latest/#changelog - Aaron Goldman14:18where you using the old structure
- 18:27aszucer joined the room
- 20:25David Johnston joined the room
Fri, Mar 17, 2023
- 03:23shadow^ joined the room
- 05:06George Antoniadis changed their profile picture
- 07:44vashart joined the room
- 07:480x613b.eth joined the room
- 07:49vashart set a profile picture
- vashart07:52hi Can someone help me and give me an invite? Thanks
- @planetoryd:matrix.org
- 08:00You will never get an invite
- 08:52n0nakamura joined the room
- Aaron Goldman09:40
In reply to this message
Not really the tone we are going for in this community.
Something closer to
"This is a channel for development of AtProto. So invite requests are out of scope."
might come across more welcoming, thanks - vashart
- 10:30Mohsen joined the room
- xnf0k10:30
In reply to this message
Can probably go in the topic. Not everyone reads them but might reduce the messages if even a few do. - panji.bsky.social11:11Message deleted
- 11:12panjiakbarp changed their display name to panji.bsky.social
- panji.bsky.social11:13Any suggestion for bluesky app client for android?
- damon/11:17I don’t believe there is one available. I know some have mentioned testing one out but none available for client use. Maybe someone is willing to give you early access to whatever they are testing
- Aaron Goldman
- @kappaseijin:matrix.org11:42
In reply to this message
@damon: Bluesky's Android app 'seiun'/星雲
https://play.google.com/store/apps/details?id=io.github.akiomik.seiun&hl=ja - damon/
- 12:57haimomer joined the room
- valueclick22:03I see there is an Android app for Bluesky social. I'll try it right away.
- valueclick22:09I have confirmed that if I post from my XPERIA using 青雲, I can see that post from my iPhone and the Web App on PC. Thank you.(edited)
Sat, Mar 18, 2023
- 09:15Chris Lace joined the room
- 13:45@michael.mauderer:matrix.org left the room
- paulghostsuk13:58Is it OK to say am now posting from bluesky app on android
- valueclick14:13Seiun(青雲) is an unofficial client for Bluesky that uses the AT Protocol (ATP), the next generation social network protocol. Currently, the only official Bluesky clients available are the iOS and Web versions, but with Seiun, you can be one of the first to experience Bluesky on Android.
- Aaron Goldman14:23Is https://boobee.blue PDS in this chat room? I think you have a DID that is not resolving. https://plc.directory/did:plc:bsylrfe45wyydwk5gnqo7mrhg32symsk2bgtzunbdgfmg4pxatia https://boobee.blue/xrpc/com.atproto.sync.getRepo?did=did:plc:bsylrfe45wyydwk5gnqo7mrhg32symsk2bgtzunbdgfmg4pxatia Also https://blue.amazingca.dev/ is not honoring services.atproto_pds.endpoint when it points to https://boobee.blue
- @evbogue:matrix.org14:30I do not maintain boobeeblue, but what does it mean when a PDS DID is not resolving? How can the maintainer make it resolve?
- Aaron Goldman14:30granted https://blue.amazingca.dev/ should be limited to an allow list ofcorce
- 14:30not all PDS are ones an indexer will want to index
- amazingca14:34The Blue Wrapper does not include external PDS implementation. It only resolves DIDs through thebsky.socialPDS at this time.
- Aaron Goldman15:32fair enough
- George Antoniadis15:32The federation spec hasn't been published yet right?
- Aaron Goldman16:02Short version `{services.atproto_pds.endpoint}/xrpc/com.atproto.sync.getRepo?did={did}&earliest={cid_last_retrieved_root}`(edited)
- b0gg3r16:27If you check out the com.atproto.sync lexicon, you can see what they're going for
- Aaron Goldman16:49
In reply to this message
Resolving at://did is done in two steps.
One retrieve the DID Document for the DID to learn the services.atproto_pds.endpoint where the users repository is stored.
Two call that PDS and ask for the repo. Or more likely the difference between the last time you fetched the repo and now. Think git fetch.Now you have the repo and the path is just the path
at://{did}/{path/to/object}
An at: URI does not resolve if you can't retreve the DID Document, can't retreve the repo, or the path is not in the repo.
- @evbogue:matrix.org18:34So it's kind of like git
- 20:14@shorty_gunny:matrix.org joined the room
- b0gg3r20:54Exactly
- Aaron Goldman21:35<personal opinion> The problem with git is that branches don't have strong identity. I can't have the "official" tip of a git repo. So the community ends up reaching for a central git hub to be the authoritative source and a domain name based URL as the location. If GitHub went away tomorrow that would be a disaster. Better would be authenticated data exchange where the repo is authenticated no matter who hosts it. If an authenticated data exchange repo host disappears you just move to the next one. The trust is in the repo controller not whoever happens to be the current host. `adx://repo_did@commit_hash/path/to/object` You have a link to both a bit authenticated set of exact bytes and a way to authenticate an authoritative latest version of that object. </personal opinion>
- Aaron Goldman22:17I'm curious about opinions on the commit syntax. Do people like at://did@cid/path or at://cid@did/path ? I like the former since I think flows more like English but in https://user@domain/path the domain is the origin for the same origin policy. If at:// has the origin as the DID the did@cid may be misleading as the origin is in a different place than in https. I know the origin is actually the (protocol, hostname, port) my question is just the order of DID and CID around the @
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:32I prefer did then cid
Sun, Mar 19, 2023
- Zach Eisenhauer00:35Hey! I’ve started tinkering with the bluesky developer docs and I’m curious about trying the platform, does anyone have an invite code?
- 00:59ephem joined the room
- @planetoryd:matrix.org01:07
In reply to this message
"This is a channel for development of AtProto. So invite requests are out of scope." in other words, get out - 07:48valdericht joined the room
- youssefsalem09:06hey devs. Does bluesky have beta version on testflight?(edited)
- 10:35Ken (@q8fscjpgph:matrix.org) joined the room
- 11:56Caio Felipe joined the room
- whyrusleeping12:59Its on the app store
- @evbogue:matrix.org20:31But should it be?
- paulghostsuk20:56I see I can't get in to the android app for some reason today
- b0gg3r21:07Seiun? You should open a ticket with their dev team
- 23:35q8fscjpgph changed their display name to Ken
- 23:57cloud20 joined the room
Mon, Mar 20, 2023
- 05:43cp4kp changed their display name to shadow^
- 05:48Rei Shimotsuki joined the room
- 05:49rx104ff changed their display name to Rei Shimotsuki
- 07:12@ichinen0204:matrix.org joined the room
- 07:31@ichinen0204:matrix.org left the room
- 10:18@tdelenikas:matrix.org left the room
- 10:36dompercy joined the room
- bnewbold10:55
In reply to this message
to phrase it in a more friendly way: welcome! we have slowed handing invite codes out, but there should be more coming, and we hope to just open registration to anybody as soon as we can.
in the meanwhile, developers can experiment with the PDS implementation's "dev environment" mode (which is in-memory/ephemeral), and the various CLI tools and third party interfaces floating around (eg, look through history of this channel) - damon/11:47Not looking to start issues but did anyone here authorise this? This could partially be why the influx of people here asking for codes. https://www.buymeacoffee.com/felixjosemon
- Zach Eisenhauer11:56
@bnewbold I got in, I appreciate the kind message tho, excited to build a client for this 😁
I’ll make sure not to scope creep for the rest of the discussion 😂
- whyrusleeping
- b0gg3r12:07What a jackass
- 12:11airwaves changed their profile picture
- 12:14freshgum changed their display name to airwaves
- 12:14airwaves changed their profile picture
- 12:42Karl Abbott changed their display name to Karl Abbott (Chicago Trip - Back Late on 22 March)
- Seth15:25Lmao
- 15:26I'm glad y'all are working with the garage door open tho 🙌
- 15:26Cool to see
- 15:27But you left some garbage out and now a bunch of raccoons are trying to get in 🦝
- 15:55@edendestroyer:matrix.org left the room
- whyrusleeping19:31Yeah… we do want to let everyone in, but if we just open the door fully right now it will slow us down so much
- 19:31So we’re taking it slow, adding users at a reasonable rate, then adding a few more just to make ourselves uncomfortable
Tue, Mar 21, 2023
- @syui:syui.cf01:35Is there a .env option to make the short name restriction disable?(edited)
- 03:45kk liang joined the room
- kk liang03:48I just want to know and study what is blueskty and what is ATP?
- 03:49the blue sky looks so like discord
- @syui:syui.cf03:50Message deleted
- panji.bsky.social
- 08:35mlbk joined the room
- @syui:syui.cf04:47I set up a pds server. There are many things I don't understand, so please tell me various things
- 08:39iamknny joined the room
- iamknny08:41Can some send me invite for bluesky please ?
- @planetoryd:matrix.org
- iamknny08:50Message deleted
- iamknny
- @planetoryd:matrix.org08:51me too
- George Antoniadis
- 08:59
In reply to this message
No invites are being sent from this channel any more, there is an early access list, do sign up. The team is slowly but steadily inviting people. - 09:46@syui:syui.cf joined the room
- 19:12@luizgustavoaf:matrix.org joined the room
- 19:12@luizgustavoaf:matrix.org left the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org20:08> > <@planetoryd:matrix.org> YWN get an invite code. Cope. Seethe > > > YWN get an invite code. Cope. Seethe > Huh ? I’m new to this ? This channel is not the right place to be asking for invite codes
- 20:09DIDs on bluesky are extremely centralized at the moment.. what's the plan for them going forward?
- @evbogue:matrix.org21:59Public keys?
- MightySpaceman (OLD -> m_spaceman:matrix.org)22:25public keys
- Aaron Goldman23:03
So, the glib answer is that the did:plc stands for placeholder? When the community settles on DIDs that don't suck this project can move to whatever DID methods become the de facto DID method.
The more serious answer is that the
plc.directoryserves as a timestamping service and a host of last resort for the document deltas. A PDS should cache the append only log of document deltas so it can look updid:plc
s without the latency of a network hop. Once there is a community of PDS operators then the directory should be moved to an identity consortium.
What that identity consortium should look like will depend on the PDS operators' desires and it is probably premature to design it.The two most likely paths forward are either a small consortium of the most trusted players in the community (11 of 16) BFT algorithm for time stamping and a multi-cast tree for distributing the accepted values to all PDSs.
The other option is a large consensus group like all the PDSs with 28 day continuous up time. ⌊2/3⌋ + 1 accepts a value and we don't need a multi-cast tree since basically everyone was in the consensus algorithm anyway. The PDSs not participating in the consensus algorithm just periodically poll any PDS that is.
but like I said probably premature to design it there are not a lot of PDS operators at the moment.
(edited) Wed, Mar 22, 2023
- Aaron Goldman00:00In my personal opinion is that we should want key rotation. If we do want key rotation then we need an identity consensus group. Think of the set of keys that can sign as the DID. We can make a grow only set as a CRDT. We can have a grow only set of authorised keys and a grow only set of revoked keys. So far so good use a CRDT. Where we get into trouble is when two devices are each trying to revoke the other. Phone revokes tablet and tablet revokes phone. Now the sync what should happen? Whichever delta is processed second should be rejected as its key is no longer valid. Now we need a total order and that requires a consensus group. If we are willing to give up on revoking keys then we can give up the centralization but I am not willing to give up on revoking keys.
- moved to @shreyan:beeper.com@shreyanjain:matrix.org01:11contrasted to nostr, where the keys themselves
are
the identity... - @planetoryd:matrix.org01:31
In reply to this message
Publickey crypto is nothing new. And there is zero innovation in nostr.(edited) - whyrusleeping01:31Keys being your identity is such a bad idea for 99.99% of people
- 01:32No normal user wants to be responsible for their keys
- 01:33This is the biggest problem crypto has right now, everyone just uses a custodian because key management is scary
- @planetoryd:matrix.org01:42blockchain for identity
- whyrusleeping01:43Possibly yes, but it must be done very carefully
- xnf0k02:08Are all Server-Side components open source currently? I know there's a PDS server on GitHub. What aboutplc.directory/ is it required to get all basic functionality working?
- @eagain:matrix.org03:38
In reply to this message
How about threshold signatures a la TUF? In practice, require cross-signing from another device. If you still produce conflicting updates, then well, maybe you did so on purpose? - @planetoryd:matrix.org03:50
In reply to this message
linkable threshold ring signature with decentralized key generation. and how about FHE, recursive ZKP - 03:53and eventually you would put a neural network in MPC. its sick
- @eagain:matrix.org03:53I’m not sure it needs to be this complicated
- @planetoryd:matrix.org03:54yes u are sure. the complexity creates a singularity in your cpu
- 07:37kazecom joined the room
- Aaron Goldman
- 09:43
In reply to this message
Wish granted, one PLC directory server for you. 😁
https://github.com/bluesky-social/did-method-plc/tree/main/packages/server
- xnf0k
- Aaron Goldman10:00
In reply to this message
Yes you could use a threshold of friends, or devices.
So the argument is that you need to specify a consensus group for identity document updates. This could be relying on someone else for the timestamps e.g.
plc.directory
or requiring 3 of 5 friends to timestamp it. There are lots of ways to set up a consensus group for ordering the deltas.did:keri calls them witnesses and the witnesses set is managed in the document itself.
- 10:01The tricky bit with witnesses is that you need to periodically test them. If a witness is no longer highly available you want to detect that and replace them from your witness set before you drop below the threshold.
- 10:05Karl Abbott (Chicago Trip - Back Late on 22 March) changed their display name to Karl Abbott
- Aaron Goldman10:38
In reply to this message
it looks like https://syui.ai is on port 443 but the https://plc.directory/did:plc:schldsdljwxcdtslnbqaoifh service.serviceEndpoint in your did doc is https://syui.ai:2583 you may want to update the did doc with the new port for your server. - @eagain:matrix.org11:10
In reply to this message
Sure yes, you need some way to ensure freshness of the (tip of the) log. Somehow I assumed this problem wouldn't arise because identities are effectively bound to one PDS at any given time, so the problem is reduced to resolving the did to the server (which may be cheaper operationally, because it shouldn't happen very often) - @evbogue:matrix.org18:54Just broadcast the latest post
- @syui:syui.cf18:22thx! fixed profile edit down
- @evbogue:matrix.org18:56And use pub keys, cause they do things
- @evbogue:matrix.org19:11It destroys the castle
- 19:11But builds the future
- Aaron Goldman19:11
In reply to this message
That assumes that the full dataset is worth storing. If you had a twitter scale system with a thousand posts a second you will not be storing the billon or so messages a year. - 19:12There is value in sharing the cost of indexing
- 19:13without indexes the search is to expensive and slow
- @evbogue:matrix.org19:15I got confused about the discussion
- 19:16But I'm sure we can figure it out
- Aaron Goldman19:26I think about it in two layers. I have some content that I want to make available online. I need a server to have and serve the content and I need a way for the URI to resolve to that content. If all the content on the web would fit on each node we could just broadcast it to evryone. Then evryone would have it. The problem is that the web will not fit on each computer. So, we put the content on servers we control or at least hire to serve the content and then share the advertisements. The question is now can we afford the storage and bandwidth for the content advertisements. If yes then we can broadcast the advertisements. If no then we need to find ways for less advertising to cover more content. We can use a trick like assigning a key to data server. Now anything signed by that key the dedicated server has the content or at least the redirect to the content. You don't need to advertise each object just each key. since there are far fewer users then objects this map from pkey to pds is a much smaller dataset to replicate around
- 19:26DID -> PDS -> post server
- @evbogue:matrix.org19:28Yah, you're on the way there
- Aaron Goldman19:29Well, that logic lead to DHTs
- @evbogue:matrix.org19:31DHTs are like public broadcasting stations
- 19:32For your hashlinks
- moved to @shreyan:beeper.com@shreyanjain:matrix.org19:36nobody has any real incentive to run a node on a dht
- @evbogue:matrix.org19:38Yah where is the money in sharing posts
- Aaron Goldman19:39we have < 10 billon people if the directory can scale to 100 billon repos with 32 byte keys and 16 byte IPv6 lets say a record is ~ 128 bytes 12 ish terabytes for the hole worlds PDS advertisments. I don't want to store that on my PC but not too bad for a server
- @evbogue:matrix.org19:40You need a replication algorithm
- 19:40And pubkeys
- 19:42And don't try to store everything everywhere all at once
- 19:44It can be done
- 19:45It just has to be imagined in a way that works
- 19:45Then the code can be written
- Aaron Goldman19:55
In reply to this message
16 million nodes in BitTorrent Kademlia and 40 thousand in IPFS Kademlia.In reply tomoved to @shreyan:beeper.com (@shreyanjain:matrix.org)
nobody has any real incentive to run a node on a dht
Somebody has an incentive to run the DHT node.(edited) - @evbogue:matrix.org19:58Yup, sharing works
- Aaron Goldman20:01No secret I am a fan of Kademlia. https://youtu.be/NxhZ_c8YX8E
- 23:44@soheiil:matrix.org joined the room
Thu, Mar 23, 2023
- 09:03Yash Agarwal joined the room
- 14:04Glitch joined the room
- Glitch14:05I don't think I'm supposed to be here. I'm sorry.
- 18:35Schuyler joined the room
- 22:09Exist2Exist joined the room
- 23:33mn05org joined the room
Fri, Mar 24, 2023
- 00:34Emily joined the room
- 07:26Justin Otstott joined the room
- 09:04@npxx:matrix.org joined the room
- @npxx:matrix.org
- damon/09:19Has the Bluesky discord server been completely removed and unavailable?
- 09:22@soheiil:matrix.org left the room
- amazingca10:52I don’t think BlueSky has ever had a Discord server.
- 12:00@rajveermalviya:matrix.org left the room
- 12:01Deavial Drake joined the room
- 13:13@tthh5577:matrix.org joined the room
- 13:20Karl Abbott changed their display name to Karl Abbott (Away, Back on 3-April-2023)
- 14:24@joshtisdale:matrix.org joined the room
- 14:27@joshtisdale:matrix.org left the room
- Aaron Goldman15:35
In reply to this message
This is not actually a straightforward answer.
There is a server called dSocialCommons that used to be called BlueskyCommunity.
https://discord.gg/JcwwMrDxIt was the server for the community looking into the distributed protocols for Jack to propose one for twitter to move to. When arcalinea was chosen to create and run Bluesky PBLLC and the Public Benefit Limited Liability Corporation was funded it supported the BlueskyCommunity with grants. Once Bluesky PBLLC decided not to continue funding BlueskyCommunity the community was now independent of the PBLLC so the name was misleading.
The PBLLC kept the name "Bluesky" and the community was renamed to "dSocialCommons" and broadened the scope to all Social protocol that operate on top of distributed tech.
Bluesky Dev
is intended as a channel for people building ontop of atproto.dSocialCommons
is intended for protocal and philisopical comparisons.@damon let me know where this answerer is confusing and I will try to clarify.
- damon/15:53This was very clear and thorough. Thank you for providing me with this information and for answering my question.
- 16:22Nad changed their display name to Nad // away
- 16:55@anselm.schumacher:matrix.org joined the room
- 19:23Mark O'Sullivan joined the room
- Mark O'Sullivan19:33
Was just reading the docs and seen the
What is “XRPC,” and why not use ___?
section, does this mean there is a publicly available Postman collection maintained by the AtProtocol team?If so, where can I find that?
- 21:23@syui:syui.cf left the room
- 23:22syui joined the room
Sat, Mar 25, 2023
- 07:41Marcio Alves joined the room
- Marcio Alves07:42I would like to be a beta tester for the Android version of the app my email ismarciotalves@gmail.com
- 07:46I need the invitation for me to join the social network who can send me there
- 07:47Hey guys, good morning, I'm a Brazilian who wants to join the social network. Who can send me the invitation? Please, my email ismarciotalves@gmail.com.
- Marcio Alves07:56Can someone send me the invite?
- Brad Brown07:58Marcio Alves: they aren’t sending more invites at the moment, as noted further up the channel, and repeatedly posting back-to-back asking for it is maybe doing a bit too much.
- Marcio Alves08:00Too bad so I was curious to see the social network and wanted to know but that's ok then thank you
- Brad Brown08:01I know they’re working hard to get it to a point to expand further, but I think right now they’re focused on stabilizing the protocol so they can do so.
- @npxx:matrix.org
- Marcio Alves10:09Thanks
- 10:10You too have a nice weekend
- Marcio Alves10:17It's good that this social network came, it's going to be a strong competitor with Twitter, just like SayMe Messenger here in Brazil is a strong competitor against WhatsApp
- @planetoryd:matrix.org
- 10:54obscure proprietary nonsensical softwares
- Marcio Alves10:57No, the owners are not obscure.
- 10:58If you want, you can test this one here is the WhatsApp competitor https://play.google.com/store/apps/details?id=br.sayme.messenger
- 11:00This one is Instagram competitor https://play.google.com/store/apps/details?id=app.forus
- @planetoryd:matrix.org11:00yes, there are a lot, but no one cares, whether there is a new proprietary software or not
- Marcio Alves11:01Yes, as blueSky is a competitor of Twitter, right?
- 11:02Just like I think that BlueSky will be a success in the world these other two social networks I also think it will be a success
- Schuyler
- @npxx:matrix.org
- Marcio Alves11:06I'm dying to try the one on blueSky too
- 11:06We Brazilians are believing a lot in this new project
- Schuyler11:07No spamming please. Invites will be rolling out soon enough.
- Marcio Alves11:08How cool bro I'm looking forward here 🤪
- 11:40@evbogue:matrix.org left the room
- 16:20@vsco:matrix.org left the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org17:37
No secret I am a fan of Kademlia.
https://youtu.be/NxhZ_c8YX8EKademlia seems really cool, I hadn't heard of it before, for some reason
- 17:44Chase Berry joined the room
- Chase Berry17:48I'm excited for the launch; I've been following since the beginning. I know the blog says that the timeline is a bit fuzzy but what are you hoping for to get through the waitlist?
- Marcio Alves17:50I can't wait to get on the waiting list or someone sends me an invite
- damon/17:50You are going to get banned
- Marcio Alves17:51Me why what? Is there no reason just because I'm Brazilian?
- damon/17:53You are not the only Brazilian here. It’s because you are spamming. You were already shared the rules of this space. It’s great you are excited, but you are making the space uncomfortable.
- Marcio Alves17:54I saw the rules now I didn't do anything I just also stated that I'm anxious like the other user did
- 17:56But I'm sorry if I bothered anyone I'm using Google translator to communicate with you sorry for anything I've done
- damon/17:56It is similar to your previous posts. It doesn’t contribute nor provides any new information. The team is working hard daily pumping out updates. They are going their best to get it to the masses, but they have to do it the right way and the smart way.
- Marcio Alves17:58Sorry then I didn't know the group was to bring information so I'll keep watching I won't post anymore 👍
- damon/18:02Appreciate your understanding and consideration. It is an exciting time and the growth of Bluesky will be beautiful. In the meantime there’s tons of decentralised social networking apps that are out there and being created. Also, there’s a ton of Mastodon apps that look to provide a strong Twitter like experience but better. Just a suggestion for while you wait if you haven’t take advantage already.
Sun, Mar 26, 2023
- 07:11@luizjr8:matrix.org left the room
- Konrad Wiktor08:06hello do you have any invite?
- @npxx:matrix.org
- 12:4525niko joined the room
- syui18:25hi
- 19:51@toranosora:matrix.org changed their profile picture
- moved to @shreyan:beeper.com@shreyanjain:matrix.org22:43Is the official BlueSky operated PDS still the only one?
- syui22:55Message deleted
- Aaron Goldman23:01
In reply to this message
You could look through theplc.directoryto find DIDs that point to other PDSs - moved to @shreyan:beeper.com@shreyanjain:matrix.org23:02hmm that url doesn't work
- 23:03how do I use that?
- Aaron Goldman23:05https://plc.directory/export?after=1970-01-01T00:00:00.000Z It will give you the first page. after that you can set the after to the last time stamp to get the next page
- 23:08The directory is an append only log.
To keep a PDSs local copy up to date it only needs to pull the eventsafter
the last one it pulled.
This should keep the load on the directory low as each PDS only pulls each event once. - moved to @shreyan:beeper.com@shreyanjain:matrix.org23:10Oh I see
- 23:11this is pretty interesting to browse. I found my own account creation
- 23:12Is "account" an appropriate term to use for bluesky?
- Aaron Goldman23:19I like to say repo but that it just because I think in git 😛(edited)
- 23:20Account is better than user. As it is not necessarily 1:1 with a human
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
Mon, Mar 27, 2023
- Aaron Goldman00:07
In reply to this message
by my count
1234567891011
| operation.service | operation.services.atproto_pds.endpoint | count did | |----------------------|-----------------------------------------|-----------| | null | https://boobee.blue | 163 | | null | https://bsky.social | 5330 | | null | https://syui.ai:2583 | 3 | | https://boobee.blue | null | 1 | | https://bsky.social | null | 2602 | | https://bsky.syui.ai | null | 1 | | https://syui.ai | null | 1 | | ignore | null | 1 | | localhost:4989 | null | 30 |
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- Aaron Goldman00:07bsky.socialdose seem to be the only one that matters
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:08yep
- Aaron Goldman00:08don't know anything but the url in the did docs but dose not sound like someone I want to federate with
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:08yep definitely
- 00:09syui: I assume you are runningsyui.ai:2583?
- Aaron Goldman00:09free speach 🤷♂️
- moved to @shreyan:beeper.com@shreyanjain:matrix.org00:10and of course the freedom to not listen 👂
- syui01:13I don't know update_atp_pds, get priv(cid)(edited)
- 01:32@chadkoh:matrix.org joined the room
- 03:06KlonAmy changed their profile picture
- 07:08Nap Wong joined the room
- syui01:39Aaron Goldman: Is there an easy way to update endpoint inplc.directory?
- 07:14Napoleon Wong changed their display name to Nap Wong
- syui01:42What happens if switch the env to the new server did?
- 07:14Nap Wong set a profile picture
- 07:49Jurij Jukic joined the room
- Jurij Jukic08:34Hello! I'm trying to understand why are MSTs necessary in ATP? Why not just use a relational db? I assume it has to do with how data is stored in PDS, which I dont understand how they work
- @neilalexander:matrix.org08:39
In reply to this message
I think the idea of using MSTs is that it is cheap to spot changes and that the entire structure is authenticated implicitly - 10:33claromes joined the room
- 14:02Ivan Kyuchukov joined the room
- 15:28claromes set a profile picture
- 17:14@buletten.monster:matrix.org joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- 18:01Reading this in the ATP docs, I'm curious what the problems were with existing DID implementations e.g. ION
- Marcio Alves18:04Good evening, everyone, I use a client application for Android, so there's no way I can put a profile picture, it's what was published here, don't you know another client for Android?
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:07Try the web client
- George Antoniadis18:08
In reply to this message
This part of the docs might help a bit. https://atproto.com/guides/identity#did-methods — rotation, speed, cost, and api seem like an issue for most blockchain based dids. - Marcio Alves18:34Is this link you sent me for your web client?
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:34It's the official one
- Marcio Alves18:34Because I'm not using the computer, but an Android cell phone through Chrome, I can't open this link
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:35Try logging in on your computer later then
- Marcio Alves18:40Can someone help me how to use the web version
- 18:40I don't know if the web version works on an Android smartphone
- moved to @shreyan:beeper.com@shreyanjain:matrix.org18:40It doesn't work on smartphones
- 18:41Do you have a computer with a web browser you could use? Try it on that
- Marcio Alves18:42Too bad because now I don't have a computer anymore I had it in the past but now I don't have it if the web version worked for Android
- 18:43But thanks for the help, I'll see if I can find a browser that makes Android think it's a computer
- Marcio Alves
- 19:26@samme:schizo.cafe changed their profile picture
- Marcio Alves19:34Even on my Fire TV, the site recognizes it and thinks it's a smartphone, so I can't access the web version
- moved to @shreyan:beeper.com@shreyanjain:matrix.org19:34Marcio Alves: can we try to keep this room on topic please? try asking your question on bluesky itself
- Marcio Alves19:36ok good idea thank you
- 19:45@grumbulon:schizo.cafe changed their profile picture
- Aaron Goldman19:58
In reply to this message
So there are a few levels this question can be answered on.
The repos are at their heart a collection of objects and their paths. This could be put in a relational database. We wanted to be able to sign each update to the state of the repo. There is not really a standard way to hash the state of a relational database to a single 256 bit number to sign.
You could do something very brute force like putting all the data in a SQLite file and hashing the bytes to sign but that would have costs linear in the size of the repo and you would need to download the entire repo to validate the signature.
So the next logical step is to put all the objects in a trie. This is much better when we change a single object we now generate only the nodes in the path from the object to the root and resign the root.
Ok now we are able to verify a single object. However the trie depth could get pathological. If my keys are like (b, ab, aab, aaab, aaaab, aaaaab). The standard way to fix the arbitrary depths problem is to hash the keys before putting them in the trie. This solved the depth but hashsets are in arbitrary order. I lose the ability to checkout a range e.g.repo/posts/*
orrepo/follows/*
the keys are in logical collections we would like to keep the order. So we want to use a b-tree set so we don't lose the order. Rebalancing the b-tree would be a big diff.How do we get the best of the memoryless property of the trie, the shallow depth of the hash set, the ordered range queries of the b-tree? Enter the Merkel Search Tree. It's a b-tree so we get ordered ranges. The pointers are cryptographic hashes it's a Merkel tree and we have something to sign. The balance is determined by the hashes so we have logarithmic depth.
Small proofs on ranges.
Cheap diffs to sync the repos.
Good structural sharing as a persistent data structure.So long story short. Most relational databases are built on top of b-trees. If you want SQL build it on top of the MST it should work well.
- 20:00Sorry for the confusing post happy to clarify, any questions? 😶
- 20:01I don't know how data structurey people want to get in this channel
Tue, Mar 28, 2023
- Marcio Alves04:38Good morning there people the source code of twitter leaked https://canaltech.com.br/redes-sociais/codigo-fonte-do-twitter-vaza-no-github-244514/
- George Antoniadis04:47
In reply to this message
Let's not post illegal content here. Also keep in mind that Twitter has filed a court order for Github to give them the real names and ips of people who downloaded the source code. Don't think they'll manage it, but in case they do, better not be on the list. - Marcio Alves04:49It's an important news site in Brazil it's not illegal content it's information
- George Antoniadis04:50
In reply to this message
Sorry I misunderstood your message, thought it was a link of the source code itself. - 12:14Américo Júnior joined the room
- Américo Júnior12:25Hey, I haven't received an invite to use bluesky, can I use bluesky with my own node without invite?
- whyrusleeping13:17Technically yes, federation is landing pretty soon and youll be able to run your own pds and federate into the network
- 13:18That said, you can just dm me for an invite
- 17:08@toranosora:matrix.org changed their profile picture
- Marcio Alves19:17Video on my channel explaining how to enter BlueSky on Android https://youtu.be/OZf-nvZjwyM
- Aaron Goldman19:52I have some trouble understanding that
- 19:52Great to have content in languages other than just English
Wed, Mar 29, 2023
- 02:03@tomtau.:matrix.org left the room
- 02:59Pratyush Sahoo joined the room
- Pratyush Sahoo02:59Hi
- MightySpaceman (OLD -> m_spaceman:matrix.org)
- Marcio Alves09:37
In reply to this message
Thank you my friend I make content for YouTube I will help to promote BlueSky here in Brazil - 09:41You can follow me on BlueSky if you want, my user there is marcio and my profile name is Marcio Tatiano Alves I have a friend who is a programmer I will see if he can help me translate the application into Portuguese
- 10:40杜仲茶 joined the room
- Marcio Alves17:28This video shows BlueSky for Android is that it?
- 23:41@garyasama:matrix.org joined the room
Thu, Mar 30, 2023
- xtianpu05:25Just thought about the Bluesky API in the future. Are there any simple plans about the API will be implemented? I'm just thinking about how complex it will be since there are multiple Indexers and PDS..
- 06:20aisato joined the room
- Marcio Alves06:33Message deleted
- Marcio Alves06:33New social network from the same creators of #tiktok app similar to #Instagram Follow me there too https://v.lemon8-app.com/al/bTevfchh
- 08:20d27 joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- Aaron Goldman23:34https://atproto.com/specs/did-plc discusses motivation some. With ion you are spending to put transactions in the Bitcoin block chain. We can have consensus mechanisms that are faster and cheaper.
Fri, Mar 31, 2023
- 00:43Tierney Blue joined the room
- 07:27@lmc:halogen.city joined the room
- 07:51@lmc:halogen.city left the room
- Deavial Drake12:20Message deleted
- Deavial Drake12:22well i thought that was going as a dm. color me blonde.
- 12:36Avidlearner joined the room
- 13:30Deavial Drake set a profile picture
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- bnewbold17:51as a heads up, we are starting the deployment process for our lexicon refactors. may take a couple hours, or longer, depending on app store review turn around. this will likely disrupt third party clients! but hopefully the last such large distributive change. docs have not yet been updated, but typescript code has been merged ('atproto' repo)
- 17:51@emmorais:matrix.org left the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- bnewbold17:54nope!
- moved to @shreyan:beeper.com@shreyanjain:matrix.org17:55👍️
- Nap Wong19:22Hey peoples, how can I get into the beta? I have requested access several times already.(edited)
- bnewbold21:51
In reply to this message
we have to delay this a bit, sorry for the stop-and-go folks! will update when it gets pushed out (the mobile app, web app, and PDS server will get updated all around the same time) - 21:53the lexicon docs have now been updated however: https://atproto.com/docs
you can find the canonical lexicon schema files for 'com.atproto' and 'app.bsky', as JSON, at https://github.com/bluesky-social/atproto/tree/main/lexicons - 21:56
In reply to this message
Hi Nap Wong! while we are still in closed beta, invites are getting trickled out slowly, and not on request. we will get through the waitlist over time, and in not too long will also allow open registration and federation with other instances (so we won't be the sole bottleneck in account registration). that will all happen when it is ready, we don't have a timeline to share Sat, Apr 1, 2023
- Nap Wong00:57I see, thanks!
- 02:13@anselm.schumacher:matrix.org joined the room
- 04:52@eagain:matrix.org left the room
- 06:35lonuma joined the room
- 07:34@buletten.monster:matrix.org joined the room
- 07:34@buletten.monster:matrix.org joined the room
- 07:34@buletten.monster:matrix.org left the room
- Aaron Goldman12:00But what if I want to choose an algorithm that doesn't use "author_is_elon" as a ranking Predicate 🤔 https://github.com/twitter/the-algorithm/blob/7f90d0ca342b928b479b512ec51ac2c3821f5922/home-mixer/server/src/main/scala/com/twitter/home_mixer/functional_component/decorator/HomeTweetTypePredicates.scala#L224-L246
- Marcio Alves12:02Tutorial in Brazilian Portuguese Bluesky social unofficial web version and Verso for Android unofficial watch the video until the end to learn how to create a profile https://youtu.be/LpNRE--sXPY
- drgunn12:21
In reply to this message
IMHO it's bait. An easy find to distract people from looking more deeply for the real story. - 13:45mothomson joined the room
- moved to @shreyan:beeper.com@shreyanjain:matrix.org14:18Yea and it's obvious lots of things were removed before the release
- 16:29@tommyzjones2020:matrix.org joined the room
- @tommyzjones2020:matrix.org16:29Message deleted by pfrazee
- panji.bsky.social
- moved to @shreyan:beeper.com@shreyanjain:matrix.org
- bnewbold16:43^ spam, a mod will delete
- 17:11pfrazee banned @tommyzjones2020:matrix.org: spam
- 23:01ramonszo joined the room
Sun, Apr 2, 2023
- 07:13@anselm.schumacher:matrix.org joined the room
- 10:10alcoco joined the room
- Marcio Alves10:37Are you able to log into BlueSky?
- pfrazee10:46We're deploying a major refactor
- Marcio Alves
- pfrazee10:49I don't understand, "Why did I leave the account" ?
- Marcio Alves10:50Yes, it left the account alone, now I can't log in anymore
- 10:52This is my username on BlueSky, you can see it theremarcio.bsky.social
- 10:53I don't know what you hear, I just know that you logged out and I can't get into my account anymore
- Marcio Alves11:01Can anyone answer me the bluesky is working yes or no?
- @npxx:matrix.org
- Marcio Alves
- Marcio Alves11:45I already understand what you hear bluesky updated and the official non-clients are no longer working https://github.com/bluesky-social/atproto-ecosystem
- あすらも/heguro12:01if you're using either the official app orstaging.bsky.app, just update/reload the app to apply breaking changes
- Marcio Alves
- あすらも/heguro
- 12:03あすらも changed their display name to あすらも/heguro
- Marcio Alves
- 12:06Moto g 10 a cell phone
- あすらも/heguro12:09
In reply to this message
Seiun app currently not supports braking changes, pls wait for developer to support - 12:10you can use @shino3.bsky.social's client https://the-blue.shino3.net to see timeline
- Marcio Alves12:13
In reply to this message
Dude, thank you very much, you were very kind because Google translator sometimes doesn't give the right word here, so many people think I'm boring but I'm Brazilian, different culture, thank you for your attention - 12:14It worked, I got in
- Marcio Alves12:22I enjoyed using this site on Android as it was the most complete https://tokimekibluesky.vercel.app
- 12:25networkException changed their display name to oom test
- 12:26oom test changed their display name to networkException
- あすらも/heguro12:35also, if you openstaging.bsky.appwith auto-rotate enabled on your phone and rotated to landscape, the login button may appear This depends on your phone's display size setting, you may need to set it to the smallest setting
- Marcio Alves
- 12:56spiderham joined the room
- あすらも/heguro13:13if you don't mind on installing a new app try Chrome Beta which has a zoom setting that can be enabled in its accessibility settings and set to 50% zoom
- 13:17(even if you could usestaging.bsky.appit does not officially support portrait mode so it might be wise to just wait)(edited)
- Marcio Alves
- 13:31Did not work
- bnewbold13:58Lex refactor deployment has been rolling out the past couple hours. thanks to folks who have reported issues! We are still debugging problems with golang parsing of legacy "blobs" in records, and record enumeration (impacting follows in the mobile app)
- あすらも/heguro
- Marcio Alves
- 23:28Sanjay Govindan joined the room
Mon, Apr 3, 2023
- @neilalexander:matrix.org02:49Looks like 1.11 is on the App Store but not TF?
- George Antoniadis04:07
In reply to this message
This has happened once or twice before, last time Paul said the review for the testflight just took longer than the live to go through. - @neilalexander:matrix.org04:08thanks, tim apple
- youssefsalem
- @neilalexander:matrix.org
- whyrusleeping04:27Yeah we’re just shipping everything through the app store and not adding anyone new to testflight
- 04:28I am making my way up to the temple of steve to pray and unblock the app
- @neilalexander:matrix.org
- George Antoniadis04:36The resemblance is uncanny. I really hope this is not actually a statue of jobs.
- youssefsalem
- youssefsalem04:53
In reply to this message
If you need new testers in the future, I’ll be happy to join. Over 90% of my apps are beta - 06:10kitpaul joined the room
- 07:39Karl Abbott (Away, Back on 3-April-2023) changed their display name to Karl Abbott
- Marcio Alves10:08
In reply to this message
I have to thank you for what you taught me I made a video for other Brazilians to learn how to use bluesky with Android https://youtu.be/1im7tZlwPMs - 11:01Saaman joined the room
- 14:59Thib changed their display name to Thib (back on April 11)
- Jurij Jukic15:51
In reply to this message
Thanks for clarifying :), will revisit more carefully when I catch the time - 18:40@govbotdotnet:matrix.org left the room
- sylphrenetic19:22Is there a small project one with some coding experience might be able to complete in a few hours or so related to ATproto? Perhaps creating your own PDS locally and sending dummy posts to it?
- 19:24I'm trying to create a list of these small projects to give to people that are new to the dWeb community or new to ATproto to give them a good introduction.
- 23:31holybell joined the room
Tue, Apr 4, 2023
- 04:50sefidel joined the room
- 06:47miiin joined the room
- miiin06:57Message deleted
- 07:422P joined the room
- whyrusleeping08:22What
- panji.bsky.social
- whyrusleeping08:32Because?
- miiin08:56I'm sorry, I called you by mistake🙇
- 12:18@thezanarkandkid:matrix.org joined the room
- 13:55takenoco joined the room
- 17:01counterpoint joined the room
- pfrazee17:07
In reply to this message
I wish I had a good answer for you right now -- we're just trying to barrel to the v1 of the protocol so that this question does become easy to answer - 17:09the atproto stack isn't really designed so that a PDS is easy to implement; you need to write the data repository structure which requires some pretty specific cryptography and data structure knowledge
- 17:09what will eventually be easy is building clients and services that hook into the network (including eg feed algorithms)
- 17:10I could suggest building a client but without federation done (again, soon) or an open account creation on our service that is a little odd
- 17:11wish I had a better answer! But things are very close, and then this will be an easy answer
- 18:04counterpoint set a profile picture
- Aaron Goldman18:04
In reply to this message
In reply tosylphrenetic
Is there a small project one with some coding experience might be able to complete in a few hours or so related to ATproto? Perhaps creating your own PDS locally and sending dummy posts to it?It may be a good first project to pull the head of a repo and validate the signature agents the DID.
1234567
const commit = z.object({ did: z.string(), version: z.number(), prev: common.cid.nullable(), data: common.cid, sig: common.bytes, })
- Pull the DID Document for a
did:plc
- Pull the head of the repo from the PDS
- validate the signature of the commit.
This is the heart of the authenticated data.
From there it's following CIDs and understanding Lexicon.
There is far more complexity there.
I would start with getting the repo validated.
All clients need that aspect even if they use novel techniques for acquiring or interpreting the blocks.
Would be nice to have a list of libraries in different languages for validation of the authenticated data.
(edited) - Pull the DID Document for a
- 18:08Maybe we should make a CAR file with the blocks for the DID Document deltas, the commits, and the data blocks for a tiny repo. Then anyone testing a client could test by validating it?
- Aaron Goldman20:42If prolyl tree ADL Spec gets added to the IPLD spec should atproto move from MST to prolyl tree in order to use just plain IPLD instead of the custom MST? https://github.com/ipld/ipld/pull/254 Probably worth commenting in what the pr with what if anything was needed to switch to prolyl tree ADL.
- 20:55@arcterius:matrix.org joined the room
- whyrusleeping21:10Id rather just work to get an ADL for the MST
- 21:11The prolly tree is neat but doesnt really solve any problems for us and is less efficient than the MST in some cases
Wed, Apr 5, 2023
- 01:39gm46 joined the room
- 04:22rihemaru joined the room
- 07:31@rimuru:gentoo.chat changed their profile picture
- 08:55sef changed their display name to sefidel
- 10:00m_adpuppy joined the room
- 18:01megnconnors joined the room
- 18:17megnconnors changed their profile picture
- 18:22megnconnors changed their profile picture
- megnconnors20:20I’d like to receive an invite, too. Please and thank you! whyrusleeping(edited)
- 21:47osprey74 joined the room
Thu, Apr 6, 2023
- counterpoint00:11
I’m curious! I’ve seen two different kinds of invites floating around the internets — some look like “
bsky.social-CODE”, others look like “bsky-social-CODE”. Curious if there’s any difference between the two?(edited)