An issue with a social network
June 9, 2024•451 words
Hey everyone, Bit here! We're diving into the Ethereum ecosystem again, this time with a social networking protocol called Farcaster.
What is Farcaster?
Farcaster (https://farcaster.xyz) is a decentralized social networking protocol. Decentralized, in this context, means that the content published using Farcaster clients is not controlled by one single entity. There are other protocols that meet this goal, like the AT Protocol (which powers Bluesky) or ActivityPub (which powers Mastodon). Farcaster is special in that some of its components are within the Ethereum ecosystem. There are 3 contracts on the Optimism chain (a layer 2 chain) that control Farcaster's accounts and storage capacity, but the actual data published to the protocol is held by a network of servers called hubs. All of this is generally transparent to the user, and most Farcaster clients behave like most normal social networks.
What is the issue?
Farcaster does not have just one app. The mainline app that the Farcaster team advertises is called Warpcast but there are other apps out there such as Farcord (the one I used). Luckily, all of the posts I have made are visible to Warpcast users, but I can't use the Warpcast app due to a flaw in Farcaster's architecture.
The architecture issue
The Farcaster protocol relies on something called signers, and the signers allow Farcaster-enabled apps to sign messages as your user. Whenever a new device signs into Farcord, for example, Farcord creates a signer that lives on your device (creating signers sadly costs a gas fee).
When you create an account on Farcaster without using Warpcast, no Warpcast signer is created. Normally how this should be handled is that the Warpcast app would ask you to create the signer, but instead the Warpcast app just breaks and there's nothing you can do about it. I made posts on Lens and Farcaster itself with a screenshot of the problem.
How it could be fixed
The Warpcast app simply needs to account for the fact that outside signups are possible. If it is given a wallet that already has a Farcaster ID connected to it, but no Warpcast signer, the Warpcast app simply asks the user if it can create the signer. It would cost a bit of ETH due to the gas fee, but at least it means the Warpcast app will actually work instead of being broken constantly.
Is there anything like Farcaster?
Yes, there is. It's called the Lens Protocol, and it's a lot more user-friendly than Farcaster.
If you want to join Lens, go to https://lens.xyz and then you can post to it from https://hey.xyz on desktop or https://orb.club on mobile. If you want to find me there, it's https://hey.xyz/u/littlebit670.