A new decentralized social community platform to show yourselves to the world.
Online is the new real life!
We are not alone in this world but just be controlled. This project creates a new decentralized social platform base on web3 technology, and we now can have a social community platform belonging to ourselves.
To support personalized ID for every user of this platform in the Ethereum world, the project creates the first L2 support showcase for ENS with zkSync. While users can enjoy the benefits of their ENS names as usual on L1, they are now blessed with ~130x fewer gas fees, faster transaction speed, and better scalability. This project is also an example that can be replicated on other L2 chains to unlock further diversified scenarios.
To protect the freedom of expression of the idea, thoughts, and attitudes of the user, this project utilizes decentralized storage technology provided by web3.storage, backed by IPFS & Filecoin. Now all posts in the timeline are immutable. Your timeline now is remembered by time, and it is open to the public, but only belongs to you.
To connect people with each other, this project provides an NFT gallery to show more about the user, beyond the usual interest information and social information. By integrating with NFTPort, this platform provides a convenient view of NFT belonging to the user. It enables people to find others who do not only have common interests but same Aesthetic emotions.
To enable more interaction, this project integrates EPNS, so the user will never miss any 'likes' and any messages in the future.
This project follows https://eips.ethereum.org/EIPS/eip-3668 and implements (1) a L1 offchian resolver, (2) a public gateway, and (2) a L2 public resolver and registry. The contracts are written in Solidity, and deployed on Ethereum and zkSync with Hardhat. The gateway is written in node.js and deployed on GCP, it's using zksync-web3 for communication with zkSync contracts.
This project uses web3.storage to store timeline information. Since every record is immutable on IPFS, this project considers each post as an individual record. The CID of each record is stored in other storage providers, which could be decided by the users preferences. This project saves the CID information on the server, so during retrieving timeline information, server will retrieve CID belonging to the user first, and then retrieve the timeline information on IPFS.
This project integrates NFTPort to build the NFT gallery and integrates EPNS to support notification functionality. We have already uploaded this Dapp to Valist.
The project uses the Express framework to build the backend server and uses React to implement the frontend user interface.