5 minutes de lecture
Aperçu
Un nouveau réseau social décentralisé appelé Farcaster connaît un succès croissant grâce à son architecture Web3 intégrée et à ses expériences utilisateur innovantes au sein de l'application. Farcaster, développé sur la blockchain Ethereum, permet aux utilisateurs de créer des profils sociaux publics et des communautés pour interagir avec d'autres personnes.
Dans ce guide, vous en apprendrez davantage sur Farcaster, sa conception et ce qui le distingue d'autres réseaux sociaux tels que Meta et X. C'est parti !
Vous préférez un tutoriel vidéo ? Regardez cette vidéo pour en savoir plus sur Farcaster et l'architecture.
Ce que vous ferez
- En savoir plus sur Farcaster
- Acquérir des connaissances fondamentales sur l'architecture de Farcaster
- Découvrez les « Hubs » et comment les données sont stockées sur Farcaster
Ce dont vous aurez besoin
Qu'est-ce que Farcaster ?
Farcaster est un réseau social innovant, open source et décentralisé qui se distingue des réseaux sociaux centralisés tels que Meta ou X en offrant à ses utilisateurs un contrôle total sur leurs données. Contrairement à ces plateformes centralisées qui conservent la propriété des données des utilisateurs, Farcaster confère à ses utilisateurs la propriété directe de leurs données.
Bien que Farcaster présente des similitudes avec les réseaux sociaux traditionnels, il introduit une nouvelle terminologie :
| Vocabulaire de Farcaster | Terme équivalent utilisé couramment sur les réseaux sociaux |
|---|---|
| distribution | message |
| chaînes | groupes |
| cadre | application web |
Voici les points clés concernant Farcaster :
-
Il fonctionne comme un réseau social classique, permettant aux utilisateurs de :
- Créer un compte
- Partager du contenu
- Interagissez avec les contenus partagés par d'autres utilisateurs
Ces fonctionnalités répondent aux attentes générales que l'on peut avoir d'un réseau social. Cependant, Farcaster se distingue par ces aspects Web3 intégrés :
- Une adresse Ethereum (EVM) est nécessaire pour créer un compte Farcaster. Cette adresse sera associée à votre compte et servira à signer les messages et à les publier sur le protocole Farcaster (contrairement à la méthode traditionnelle utilisant un nom d'utilisateur et un mot de passe). Les messages relatifs à toute activité identifiée comme des publications, des réponses, des abonnements, etc.
- Les données des comptes utilisateurs, telles que les informations de profil, sont stockées sur la chaîne. Cela s'effectue via un contrat intelligent (par exemple, Id Registry) déployé sur le réseau principal d'Optimism. D'autres données, comme les « Casts », etc., sont stockées hors chaîne sur le réseau de stockage de Farcaster, appelé « Hubs ».
- Les noms d'utilisateur peuvent être gérés sur la blockchain via l'ENS, ce qui garantit aux utilisateurs la souveraineté sur leur identité, contrairement aux entités centralisées, qui peuvent révoquer ces noms d'utilisateur à leur guise. N'importe qui peut appeler le contrat ENSRegistry pour associer un nom d'utilisateur à son adresse de conservation.
- Les utilisateurs peuvent créer et intégrer des applications décentralisées dans leurs publications (par exemple, un bouton de création de NFT, un vote DAO en un clic, etc.). - Les utilisateurs peuvent créer et intégrer des applications décentralisées dans leurs publications (par exemple, un bouton de création de NFT, un vote DAO en un clic, etc.). Ces éléments sont appelés « Frames » et doivent respecter les spécifications OpenGraph pour s'afficher correctement dans un Cast. Parmi les frames populaires déjà développés par d’autres, on peut citer @cookies, qui a mis en place une expérience de paiement fluide dans un frame alimenté par Coinbase Commerce, et $DEGEN, un token ERC-20 distribué gratuitement à la communauté Farcaster via la chaîne BASE.
- L'absence d'une entité unique détenant les données sous-jacentes signifie que toute personne disposant d'un compte Farcaster peut exploiter un nœud Farcaster (également appelé « Hub ») et lire ou écrire des données.
Les fonctionnalités uniques de Farcaster sont prises en charge par :
- Des contrats intelligents spécifiques, chacun remplissant des fonctions distinctes afin de faciliter l'expérience décentralisée
- Les « hubs », c'est-à-dire les nœuds peer-to-peer open source, décentralisés et distribués qui stockent et diffusent les données de Farcaster
Architecture Farcaster
Comme indiqué précédemment, Farcaster stocke certaines données, telles que la création de comptes, sur la blockchain, tandis que d’autres données, comme les « Casts », sont stockées sur des nœuds appelés « Hubs ».
Voici un aperçu général :

Voyons de plus près les contrats intelligents utilisés.
Farcaster utilise trois contrats intelligents (déployés sur le réseau principal d'Optimism) pour faciliter les opérations sur la blockchain :
- Registre des identifiants - Ce contrat de registre d'identification permet aux utilisateurs d'enregistrer, de transférer et de récupérer des comptes. Il est lié à un
fId, qui est associée à l'adresse Ethereum utilisée lors de la création du compte - Registre de stockage - Le contrat du registre de stockage permet de suivre les comptes et leurs frais de stockage. Il s'agit des mêmes frais que l'utilisateur paie lors de la création de son compte et qui sont utilisés pour ses interactions (par exemple, les « Casts » et les réponses) sur le réseau Farcaster.
- Registre des clés - Le contrat « Registre des clés » assure le suivi des clés enregistrées pour les applications. Il détermine si une application est autorisée à effectuer des actions (par exemple, publier, suivre) au nom de l'utilisateur.
Pour en savoir plus sur les fonctionnalités de chaque contrat intelligent, consultez la documentation et le code source ici.
Pôles
Le réseau de nœuds qui stockent et diffusent les données de Farcaster est appelé « Hubs ». Ce réseau distribué de nœuds, fonctionnant en peer-to-peer, stocke et valide l'intégralité de l'état de Farcaster (données sur la chaîne et hors chaîne) et les nœuds communiquent entre eux pour maintenir l'état de Farcaster à jour.
Farcaster étant un projet open source, tout utilisateur peut gérer son propre Hub et lire ou écrire des données sur Farcaster via l'API. Parmi les implémentations actuelles de Hubs, on trouve notamment Hubble (écrit en Rust et Typescript). Commençons par nous intéresser au stockage et à la manière dont les données sont stockées ; nous aborderons ensuite le cycle de vie des messages et la manière dont ils sont validés et stockés sur un Hub.
Stockage
Pour qu'un compte puisse interagir sur le réseau Farcaster, il doit d'abord s'acquitter d'un loyer. Il s'agit généralement d'une redevance annuelle qui couvre toutes les activités qu'un compte est susceptible d'effectuer, telles que publier, répondre, suivre d'autres utilisateurs, etc.
À chaque type de message est attribué un quota de location, et tout message publié une fois ce quota dépassé entraîne la suppression du message le plus ancien (par un Hub). Les utilisateurs peuvent continuer à utiliser le protocole Farcaster même après le dépassement du quota de location, grâce à la suppression effectuée par les Hubs et à la gestion de la charge du réseau par ces derniers.
Parlons maintenant des messages et de la manière dont ils sont stockés sur un Hub.
Cycle de vie des messages
Le processus de synchronisation d'un Hub se déroule en deux phases : - potins et diff sync. Voyons comment cette fonctionnalité s'intègre dans le cycle de vie des données stockées ou mises à disposition sur les Hubs :
- Un compte génère une interaction (par exemple, Cast, React, Link) en signant le message
- Le message est stocké sur un Hub et fait l'objet d'une validation (par exemple : la signature est-elle valide ? Répond-il aux exigences de Cast ?)
- Le message fait l'objet d'une vérification (asynchrone) visant à détecter d'éventuels conflits liés aux limites de stockage et de compte (par exemple : le Cast a-t-il été supprimé ? Existe-t-il une copie ? Le compte dispose-t-il d'un crédit de location suffisant ?)
- Si ce message est valide, le Hub le transmet aux autres Hubs du réseau (c'est-à-dire,
commérages) - À intervalles réguliers, un Hub s'exécutera
diffsynchroniser pour identifier les messages perdus et les récupérer efficacement
Notez que l'exploitation d'un Hub nécessite une configuration matérielle minimale et ne génère aucun revenu pour les utilisateurs qui exploitent ce nœud. Afin de lutter contre les acteurs malveillants, les Hubs surveillent les pairs et évaluent leur comportement, en ignorant les comportements indésirables lorsqu'ils sont détectés. Pour en savoir plus, consultez la documentation sur les Hubs.
Ressources supplémentaires
Conclusion
Bravo ! Vous disposez désormais d'une compréhension de base de Farcaster et de son fonctionnement. Pour approfondir vos nouvelles connaissances, n'hésitez pas à consulter le guide sur la création de [Farcaster Frames], puis partagez votre Frame personnalisé en nous taguant @Quicknode !
Si vous avez des questions, rendez-vous sur notre serveur Discord ou envoyez-nous vos commentaires via le formulaire ci-dessous pour obtenir de l'aide. Restez informé des dernières actualités en nous suivant sur Twitter (@Quicknode) et sur notre chaîne d'annonces Telegram.
Nous ❤️ les commentaires !
Faites-nous savoir si vous avez des commentaires ou des suggestions de nouveaux sujets. Nous serions ravis de vous entendre.
