Decentralized gaming forum based on Solana combining NFT and IPFS.

Article and Project Introduction:#

The project was inspired by a certain domestic game forum and the future potential of blockchain, Solana, and Rust. Thus, an idea to combine these technologies to implement a forum was born.
However, my current abilities are limited (I am still in the beginner stage and am actively learning to implement this project), and I am considering the feasibility from a technical perspective. There is currently no specific code implementation, so I am posting my ideas here for record purposes and also welcome suggestions and discussions from experts to improve this project.

Technical Challenges:#

  1. The forum has both static and dynamic content. How to better handle dynamic content using IPFS, such as private message replies and post comments.
  2. How to handle maliciously posted inappropriate content.
  3. How to incorporate a time-series database (why deploy a time-series database: considering that the performance of blockchain may not be as good as that of traditional databases in terms of throughput, I want to try using a time-series database first).

Forum Theme: A web3 version of a game forum, providing a harmonious and interesting discussion environment for dapps and web3 games.
Forum Name: Ninth Art - 第九艺术 or TBD (To Be Determined)
Forum Features: (Login/Register), Achievements (NFT rewards), Check-in (NFT rewards), Report, Like, Comment, Bookmark
Technical Elements: Time-series database, blockchain, IPFS (decentralized storage), NFT, Solana, Rust

Desired Elements to Implement#

Fast response, open source, rich content, interesting, interactive

Specific Technical Implementation and Personal Ideas for the Forum#

  1. Forum Architecture Design:
    ○ Frontend: Develop user interface to allow users to register, login, post threads, comment, etc.
    ○ Backend: Handle user requests, interact with the Solana blockchain, manage forum data.
    ○ Database/IPFS: Store forum threads, comments, and user data. Although the blockchain ensures data immutability, you may still need a database for quick retrieval and display of data.
  2. User Authentication:
    ○ Use Solana wallet as the user authentication mechanism. Users can log in to the forum using their Solana private keys.
    ○ Ensure users are accountable for their actions on the forum and implement punitive measures when necessary (e.g., banning malicious users).
  3. Content Upload and Storage:
    ○ When users upload threads or comments, store their hash values on the Solana blockchain as immutable evidence.
    ○ The original content can be stored on IPFS (InterPlanetary File System) and referenced in the forum using hash values.
  4. Content Moderation and Reporting System:
    ○ Implement a content moderation system that allows administrators or authorized users to flag inappropriate content.
    ○ Provide a reporting feature that allows users to report content they believe to be in violation.
  5. Handling of Inappropriate Content:
    ○ Once content is flagged as inappropriate, administrators can decide to delete or hide such content. On the Solana blockchain, although data cannot be truly "deleted," it can be marked as inappropriate and no longer displayed on the forum frontend (filtering its IPFS address).
    ○ You can save records of inappropriate content and related users in a separate database for future review or further actions.
  6. Incentive Mechanisms:
    ○ Implement a Solana-based token reward system to encourage users to report and assist in forum management. For example, users who report inappropriate content can receive a certain amount of token rewards.
    ○ Achievements: Set certain criteria and activate achievements, providing (digital collectible) rewards.
    ○ Check-in: Special (digital collectible) rewards for checking in on significant dates.
  7. Transparency and Announcements:
    ○ Regularly publish announcements to explain the forum's content policies, the process for handling inappropriate content, etc., to increase transparency and user trust.
  8. Technical Implementation:
    ○ Use the Rust programming language (the official language of Solana) to implement backend logic.
    ○ The frontend can use Rust-related web development frameworks.
    ○ Use Solana's official libraries and tools to interact with the blockchain.
    ○ Use IPFS libraries for file storage and retrieval.
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.