Flocial

Flocial

Flocial is a decentralized social networking protocol for Flow. We connect and maintain uniformity accross games, apps, assets & everything on Flow.

The problem Flocial solves

Decentralized social networking on Flow faces challenges of fragmented profiles, limited integration, and inefficient user discovery. Users encounter repetitive profile setups, lack cohesive social connections, and struggle to find relevant users within the Flow ecosystem. A standardized protocol is needed to enhance data consistency and enable seamless integration across Flow dApps. Introducing the solution: Flocial.

Flocial revolutionizes decentralized social networking on Flow by establishing independent social graphs for users. Let me elaborate it's features in-depth

  1. Redefining Social dApps on Flow
    Flocial establishes a decentralized social networking protocol for Flow, redefining social networking in the flowverse. We ensure consistency and uniformity across games, apps, and assets on Flow. Future updates will introduce features such as post publishing, comments, user following, and more.

  2. Efficient Profile Management:
    Flocial's client dApp allows users to connect their wallet addresses and manage their profile details, such as name, username, email, description, and avatar. This information is securely stored on the blockchain, enabling seamless integration with other dApps that utilize Flocial's protocol.

  3. Enhanced Discoverability & Networking:
    Flocial incorporates an explore feature that enables users to browse registered profiles, facilitating social interactions, networking, and collaboration within the Web3 community. Additionally, Flocial's advanced search mechanism allows users to find individuals with specific keywords, fostering efficient collaborations and knowledge sharing.

  4. Fast & Easily Integratable API
    Flocial currently has 2 fast, low-latency API endpoints. One to get all users registered on the protocol, and one to get profile details by querying wallet address. Any interested dApp can integrate our protocol by using our API or customising our open-sourced smart-contract according to their needs.

Challenges we ran into

During the development of the project, we encountered several challenges that required our attention and problem-solving skills. Here are some specific hurdles we faced and how we overcame them:

Testnet Instability: One major challenge was the frequent crashing of the testnet during our development and testing phase. Initially, we suspected that there might be an issue with our smart contract code, which caused us to spend an entire day trying to debug and resolve the issue. However, after thorough investigation, we discovered that the testnet itself was experiencing intermittent stability problems. Once the testnet was up and running smoothly again, we were able to verify that our smart contract was functioning correctly.

Learning Cadence: As it was our first time writing Cadence code, we faced a steep learning curve in understanding the language and its syntax. We encountered challenges in grasping the unique aspects of Cadence and ensuring our code followed best practices. However, we embraced this opportunity to expand our skills and enjoyed the learning process, gradually becoming proficient in Cadence development.

Optimizing Smart Contract & APIEfficiency: As the project progressed, we encountered performance challenges in the smart contract code. The high volume of interactions and data storage within the protocol required optimization for gas efficiency and overall contract performance. Through thorough code analysis and optimization techniques, we were able to enhance the efficiency and scalability of the smart contract, and thus reducing the response time for our APIs.

Our APIs exist at ->

https://flocialapi-6k6gsdlfoa-em.a.run.app/getprofile?address=0xc6a01f56e1ff8764 // get profile by address
https://flocialapi-6k6gsdlfoa-em.a.run.app/getprofiles // get all profiles

Discussion