Websocket
The Social Service is a server that manages friendships within Decentraland. Utilizing the Matrix platform, it serves as the authoritative source for handling Friendships updates, such as requests, accepts, rejects, cancels and deletes.
Use Cases
The Social Service addresses the following use cases related to friendships:
Requesting a Friendship
Accepting a Friendship Request
Rejecting a Friendship Request
Canceling a Friendship Request
Removing a Friend
Listing all my friends
Listing mutual friends between me and another user
Context
Before the introduction of the Social Service, friendship data was stored and retrieved directly from Matrix. This led to various issues with friendship workflows and unreliable information. Additionally, implementing new features was challenging. Since Matrix primarily handles chat features, the Social Service acts as a proxy, applying necessary business logic before interacting with Matrix.
Architecture
Version History
First Version: Initially, the Social Service was a REST API that only offered GET endpoints for listing all friends and mutual connections. It lacked features related to updates or sending requests.
Second Version: This version introduced updates to the friendship flow. To address these changes, a WebSocket RPC server was implemented. This server handles essential messages, maintaining open connections with clients to provide timely updates. The WebSocket connections also facilitate features such as presence tracking within the Social Service.
URLs
.zone Domain
Development Environment Servers for testing and when using testnets.
.org Domain
Production Environment Servers and when using mainnet.
Use the Javascript Client
To use the Javascript Client please refer to https://github.com/decentraland/social-rpc-client-js#using-the-client
Reference Client Implementations
Last updated