iBird: A Web3 Social Media Platform on Hedera Hashgraph
iBird is a fully functional Web3 social media platform operating on Hedera Hashgraph built by iAssets. It offers users an opportunity to join, create an account, and post messages directly on the Hedera Network. Not only messages, iBird writes all user interactions including posting, liking, and commenting on a unique Hedera Consensus Service (HCS Topic).
iBird Explorer
iBird Explorer is an open-source tool providing you the freedom to retrieve and read messages from the iBird social media platform, even when the website is offline. iBird stores all these user actions securely on Hedera's robust network where every post carries a unique hash, thus allowing users to prove the ownership of their content.
By using iBird Explorer (GitHub link), you can enter the hash of a message or content item and retrieve the corresponding content directly from the Hedera Network, ensuring permanent availability irrespective of the iBird website status.
Project Harriet: The Journey Towards Decentralization
Project Harriet is on a mission to redefine social media by making iBird 100% open source and 100% decentralized. It marks the dawn of a new era in social networking, leveraging cutting-edge Web3 technologies on Hedera Hashgraph.
The ultimate goal is to foster a rapid, transparent, and decentralized social network, solidifying user's control on their data.
v0.0.3 (Explorer) is Live
Project Building Blocks
- Writer: The interface for content creation including posts, comments, or any other user interactions.
- Reader: The data retrieval system which fetches the content from HCS, coupled with regular pull operations to keep the user data in sync.
Structure
We plan to release multiple versions of the platform, starting from simple and gradually adding more features and complexity. Here are the details of some of the initial versions:
v0.0.1 (Threads)
- Users can connect their wallet, supporting HashPack, Blade, and Metamask.
- Users can create topics(threads) and write messages.
- Users can read messages by entering a topic ID.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets" "Type":"Thread", "Author": "AccountId", }
- Message 2: User's first message
{ "Message": "Hello" }
- Message 3: User's second message
{ "Message": "Good Morning" }
- Message 1: Topic information
v0.0.2 (Interactions)
- Users can reply to messages and interact with them.
- Users can like or dislike a message.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets" "Type":"Thread", "Author": "AccountId", }
- Message 2: User1 first message
{ "Author": "AccountId1", "Message": "Hello" }
- Message 3: User2 comment to user1 first message
{ "Author": "AccountId2", "Reply_to": "Message 2", "Message": "Hi" }
- Message 4: User1 like Message 3
{ "Author": "AccountId1", "Like_to": "Message 3", }
- Message 1: Topic information
v0.0.3 (Explore Feed)
- The platform now includes a globally accessible "Explore Feed".
- This feed is a directory of all threads created across the platform, which helps enhance discoverability and encourage interaction.
- Each thread is automatically added to the Explore Feed upon creation, covering a wide array of topics.
- Users have an option to choose if their threads should be visible on Explore Feed or not. This gives them control over the visibility of their posts.
- Users can access any thread from the Explore Feed, improving community engagement.
- Explore Topic: 0.0.3946144
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Explore", "Author": "iAssets", }
- Message 2: Thread1
{ "Thread": "TopicId1" }
- Message 3: Thread2
{ "Thread": "TopicId2" }
- Message 1: Topic information
v0.0.4 (User Profile, Threads Directory and Platform Directory)
User Profile
- When a user creates a profile, a unique Topic is created for them. This acts as a personal profile page for a user. It houses the user's details.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Profile", "Author": "AccountId", }
- Message 2: Information
{ "Label":"Information", "Full_Name": "John Doe", "Bio": "Software Developer passionate about Web3", "Joined_Date": "2023-09-30", 'Website': 'https://johndoe.com' }
- Message 3: Threads Directory
{ "Label":"Threads", "Threads":"TopicId" }
- Message 4: Followings Directory
{ "Label":"Followings", "Followings":"TopicId" }
Threads Directory
- Message 1: Topic information
- This is a directory for user threads. This Topic is linked back to the user's Profile.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Threads", "Author": "AccountId", }
- Message 2: Thread1
{ "Thread": "TopicId1" }
- Message 3: Thread2
{ "Thread": "TopicId2" }
Platform Directory
- Message 1: Topic information
- This is the highest level of organization and acts as the central directory of the platform.
- It stores IDs of all users and their associated profile topics.
- This can be seen as a big directory that holds the records of all users who join the platform.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Platform", "Author": "iAssets", }
- Message 2: User1
{ "ID1": "AccountId1" "User1": "User Profile1" }
- Message 3: User2
{ "ID2": "AccountId2" "User2": "User Profile2" }
- Message 1: Topic information
v0.0.5 (Media Support - IPFS)
- Users can upload media files which get stored on IPFS. The IPFS hash of the uploaded media file is stored in the message, creating a permanent, unmodifiable record.
- Users can view or download this media by retrieving it from IPFS using the stored hash.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets" "Type":"Thread", "Author": "AccountId", }
- Message 2: User first message
{ "Message": "Hello" "Media_IPFS_Hash": "Qmbfvg7t" }
- Message 3: User second message
{ "Message": "Good Morning" "Media_IPFS_Hash": "Qmbfvg7t" }
- Message 1: Topic information
v0.0.6 (Tipping - ASSET and HBAR Tokens)
- Users can send tips to each other using ASSET and HBAR tokens.
- The platform supports peer-to-peer transactions, driving greater user engagement and monetizing content creation.
- Structure:
- Transaction
Tip Transaction | Sender: AccountId | Recipient: RecipientId | Amount: 10 ASSET | Timestamp: 2023-11-11T13:34:56Z Tip Transaction | Sender: AccountId | Recipient: RecipientId | Amount: 100 HBAR | Timestamp: 2023-11-11T13:34:56Z
- Transaction Memo
Memo: "Tip | For: Tread Topic Id"
- Transaction
v0.0.7 (Boosting Threads)
- Users who hold an iBird Gen 1: The First Flight can boost their Threads up to 4 time per month.
- The boosted Threads are given 10 times the normal visibility on the explore feed.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Boost", "Author": "iAssets", }
- Message 2: Thread1
{ "Thread": "TopicId1" }
- Message 3: Thread2
{ "Thread": "TopicId2" }
- Message 1: Topic information
v0.0.8 (Interactive Polls)
- Users can create interactive polls on their threads. These polls help gather feedback, spark discussions, or make democratic decisions within communities.
- Polls have a defined start and an end date, with users being able to vote only within this timeframe.
- Upon poll conclusion, an immutable record is created displaying the final results.
- Structure:
- Message 1: Topic information
{ "Identifier":"iAssets", "Type":"Thread", "Author": "iAssets", }
- Message 2: User creates a poll
{ "Poll": { "Title": "Favourite crypto?" "Options": ["Bitcoin", "Ethereum", "Other"], "Start_Time": "2023-11-11T13:34:56Z", "End_Time": "2023-12-11T13:34:56Z" } }
- Message 3: User votes
{ "Author": "AccountId", "Vote": "Bitcoin" }
- Message 4: Poll concludes
{ "Poll_Result": { "Title": "Favourite crypto?", "Votes": { "Bitcoin": 10, "Ethereum": 5, "Other": 2 }, "End_Time": "2023-12-11T13:34:56Z" } }
- Message 1: Topic information
v0.0.9 (iOS and Android Applications)
The platform now offers dedicated mobile applications for both iOS and Android devices, enhancing user accessibility and engagement.
v0.1.0 (Community Governance)
- ASSET Token Holders can propose and vote on platform-wide changes and updates.
- Voting mechanism and results are handled by HCS for transparency and efficiency.
Building Together
Project-Harriet is an open-source venture and we appreciate contributions from our community. Feel free to participate in the project, propose improvements, or raise issues. Whether you're making changes to the existing code or suggesting new features, your contribution will shape the future!
License
This project is anchored by the Creative Commons Attribution-NonCommercial 4.0 International Public License - see the LICENSE file for details.