What is Farcaster?
Farcaster is a decentralized protocol for building web3 social media apps. Learn more about what it is, how it works, and how to build on it.
Social media has become an integral part of our lives and society. But the issue with social media platforms today is that they are centralized: big companies control every aspect, from how users interact to managing their data & privacy.
Even creators and brands often struggle for their freedom, risking being banned at the mercy of the platforms they live on. With these rising tides of concern, open & decentralized social media platforms have started to garner attention from users.
Farcaster is a key protocol in this transformation, facilitating the creation of social apps where users enjoy complete control over their interactions and audience.
In this article, we will explain what Farcaster is, how it works, explore some examples of social apps on Farcaster, and how to build on Farcaster.
What is Farcaster?
Farcaster is a decentralized protocol designed specifically for building and connecting social apps. It aims to create a censorship-free environment where users have full control over their data and audience.
To achieve this, Farcaster employs a sufficiently decentralized network architecture that lets users control their social graph and enables them to interact with various apps on the network via a single identity.
Picture it as a unified platform where social apps like X, Instagram, and Facebook coexist and users can connect them all with one decentralized ID. This means even if any app imposes restrictions, users still have their identity and can seamlessly migrate their connections to alternative apps on the network.
This minimizes control of centralized entities and restores user’s control of their social autonomy.
Additionally, Farcaster operates permissionless and is open-source, making it accessible for anyone to build applications by plugging into APIs or other applications.
It grants developers access to public data available on the network that can be used to further improve software functionalities and user experience.
All-in-all, the concept of a decentralized social protocol is relatively new, but its successful adoption can be a game-changer as it will empower users to truly govern their online life, freeing them from the control of centralized platforms.
Benefits of Farcaster
Here are some advantages of building on the Farcaster protocol:
User flexibility
Farcaster integrates various namespaces, including decentralized identity systems like ENS, enabling users to adopt multiple usernames.
This approach simplifies the onboarding process, allowing for a streamlined and user-friendly experience, and provides developers with a broader and more versatile user base to engage with.
Global state
Farcaster stores user data on a resilient network of servers called ‘Hubs’, ensuring consistency and reliability. Even if a server fails, the data remains accessible, supporting smooth development processes and enhanced user experiences.
This unique approach elevates the network’s robustness, streamlining information flow and fostering a dependable, uninterrupted, and innovative user experience in decentralized platforms.
Storage renting
Addressing storage challenges, Farcaster employs a rental approach for data, optimizing network performance. By charging for storage, it minimizes spam, encourages efficient data management, and promotes network efficacy.
This strategic approach ensures streamlined operations, improving overall network health, and user experience.
How does Farcaster work?
Farcaster employs a hybrid architecture consisting of on-chain and off-chain systems to provide a consistent and efficient environment. Here's a breakdown of its components:
Registry Contracts
Farcaster creates non-upgradable contracts with a limited life, which are deployed on-chain on Ethereum via Layer 2 OP Mainnet. These contracts are used for three primary functions:
- Id registry to generate key pairs for newly created Farcaster accounts linked to their Ethereum address.
- Storage registry contracts to rent and track allocated storage units for each account for a yearly fee.
- Key registry that allows users to grant and remove account ownership access to write and sign messages on their behalf.
Hubs
Hubs are servers that run on commodity hardware and provide low-level, high-performance data streams in the network. They are responsible for hashing messages and validating their signatures against registry contracts.
Once validated, all messages are stored in sets and sent across other hubs on the network to replicate the contained data. The off-chain implementation of these servers enables quick and reliable data access in real-time for the development of applications.
This allows developers to customize applications for user preference and connect with different applications within the Farcaster ecosystem.
Usernames
Usernames are similar to handles on typical social media apps, which are used to identify or mention accounts. Farcaster supports two different types of ENS names that users can link with their accounts:
- Fnames: off-chain ENS names that are free and issued by Farcaster itself.
- .eth names: on-chain domains that are user-controlled and support applications built on the Ethereum network.
This allows users to customize their accounts, giving a personalized user experience & ease of networking with other users.
What are some social applications built on Farcaster?
1. Warpcast
Warpcast is a web3 social networking app with a similar user interface to X(formerly Twitter). It is available both on mobile and web browsers. Users can share casts (posts), interact with others, showcase their NFTs, and even review their on-chain activity in the feed.
2. Paragraph
Paragraph is a decentralized newsletter publishing platform akin to Substack in web2 but with more features. It lets users fully customize their content, automate email workflows, get detailed analysis, and even work with a team.
The functionality distinguishing Paragraph from other platforms is — NFT memberships, token-gating, and direct integration with social graph on the Farcaster. This enables new content monetization opportunities for creators and more reach to their audience.
3. Kiwi News
Kiwi News is a crypto media dApp, where users can participate using an NFT community pass. They can share links to events in the space, including podcasts, news articles, or videos with community members. Users can also vote for top content or subscribe to the publisher without ads & social noise. It is available as a web extension and web app.
How to build on the Farcaster Protocol?
Now, we've learned about the workings of Farcaster and the live projects of its ecosystem. Let's see how we can build decentralized social media applications on Farcaster.
Define the purpose of the app you want to build
Defining the purpose of your application — the problem it is trying to address, and its implementation. This will play a crucial role in choosing the right use case, whether you build a decentralized application, a service, or a feature for an existing protocol.
For instance, u3 is a dApp designed to aggregate social data from platforms like Farcaster and Lens protocol. Another app, Builder, is an annotation tool to annotate & engage with posts on Farcaster & Warpcast.
Set up a development environment
To establish an efficient environment, you'll need to undertake several key tasks like setting up the necessary libraries, smart contracts, and dependencies to interact with the Farcaster Protocol.
For a better development experience, developers can use thirdweb's comprehensive solution rather than building everything from scratch. Thirdweb's smart contract templates can streamline the development of their dApps. Other tools & thirdweb dashboard can streamline the overall development procedure and improve efficiency.
The future of social media is decentralized
Farcaster's sufficiently decentralized and permissionless nature allows users control of their social graph and lets developers utilize existing resources to build apps.
This creates one resilient social media ecosystem with multiple applications, so if any app fails, users can still communicate or migrate their audience to other platforms on Farcaster.
The thriving Farcaster ecosystem can be a catalyst in decentralized social media growth. Developers can simplify the development process and improve their performance using thirdweb's developer tools.
If you have any questions, join 40,000+ other builders in our Discord community or reach out to the team directly for more info on how to get started with decentralized social media development.
And if you want to start building apps on the Farcaster, get started with thirdweb's web3 tools and SDKs — they're free!