Introduction
Welcome to the CyberConnect document page!

What Is CyberConnect

People are getting tired of registering and re-declaring their friend relationships on every site. This is especially true in web3 where each user's identity is already portable across sites.
With a decentralized social graph owned by users instead of platforms, each user is able to leave an app and join a new one without losing any friends or having to migrate everyone. New social applications could all focus on creating and curating the best content and forget about rebuilding the wheels of a social graph database.
CyberConnect is a decentralized social graph protocol built with IPFS and Ceramic. CyberConnect gateway provides a universal data layer for DApps to start plugging in the social element for their users. With CyberConnect, a user's connection data in every application is aggregated together, allowing the social graph to be portable across Web3.
You can see the technical overview of the CyberConnect protocol on the next page.

CyberConnect API

The CyberConnect API consists of Read path and Write path.
The read path is a GraphQL-based API that allows anybody to query and interact with the current and aggregated connection data of an Ethereum address.
The write path is a JavaScript library that allows users to control their decentralized identity(DIDs) and social graph data by signing a message in MetaMask. The data will be stored on IPFS eventually through Ceramic Network.

How To Integrate CyberConnect

CyberConnect provides three major functions: follow button, retrieving following & followers lists, and getting recommended following lists. Currently, we support Ethereum addresses.

Following & Followers List

You can retrieve an address's following & followers list on CyberConnect through a simple API call. More descriptions are detailed here.
You can also get a recommended people-to-follow list for any address through a simple API call. More descriptions are detailed here.

Connect & Disconnect

We provide a JavaScript library that encapsulates the complex authentication logic (authenticate to Ceramic Network) into easy-to-use connect & disconnect functions. More descriptions are detailed here.

Follow Button

We provide a standardized CyberConnect Follow Button which can be implemented in any Web3 application with simple lines of front-end codes. More descriptions are detailed here.

Data Model

The connection data can be categorized into two parts, indexed data, and raw data.
Indexed Data
The indexed data is a developer-friendly aggregation of the raw data. It is represented using GraphQL schema.
1
// The UserIdentity is used to describe the identity of an ETH address.
2
type UserIdentity {
3
address: String!
4
ens: String!
5
social: Social!
6
7
followerCount: Int!
8
followingCount: Int!
9
10
followings(first: Int, after: String): BasicInfoConnection!
11
followers(first: Int, after: String): BasicInfoConnection!
12
}
Copied!
1
// The Recommendation describes recommended connections of an ETH address with reasons.
2
type Recommendation {
3
address: String!
4
ens: String!
5
recommendationReason: String!
6
}
Copied!
Raw Data
The raw connection data is a simple JSON blob stored on IPFS using Ceramic Network. We currently don't offer an API to query raw data, but one can query these data using Ceramic API directly.
1
{
2
"title": "CyberConnect",
3
"type": "object",
4
"properties": {
5
"profile": {
6
...
7
},
8
"outboundLink": {
9
"connectionType": "follow",
10
"target": "0xe4...ed",
11
"namespace": "CyberChat",
12
"createdAt": "1635483210414",
13
"alias": "none",
14
}
15
}
16
}
Copied!
Last modified 5d ago