FAQ - EtherFeed Social Platform

EtherFeed FAQ

Frequently Asked Questions

# What is EtherFeed?

EtherFeed is a fully decentralized, censorship-resistant content feed powered entirely by a single immutable smart contract deployed on Ethereum. There are no servers, no admins, and no off-chain dependencies. All actions—from account registration to posting, commenting, reacting, following, and profile management—are executed directly on-chain.

Core features include:

  • ✅ Immutable posts stored on Ethereum
  • ✅ Reposts with optional reposter notes
  • ✅ On-chain editing of posts, reposts, and comments
  • ✅ Hiding content without deletion
  • ✅ Enhanced profile fields (about, location, website, pictures, pinned post)
  • ✅ Full user comment history tracked on-chain
  • ✅ Reactions (likes/dislikes), pinning, and following
  • ✅ Case-insensitive unique usernames
  • ✅ Markdown support and image embedding
  • ✅ No centralized moderation or deletions

Additionally, basic account data, profile details, and usage stats are stored separately for better query performance and more granular management.

# How does the platform work?

EtherFeed is built on Ethereum and powered entirely by a single immutable smart contract. Every action—from account registration to posting, commenting, reacting, and following—is executed directly on-chain, with no centralized servers, no admins, and no off-chain storage dependencies.

# Permissionless & Adminless?

There is no central authority or admin controlling the platform. Every user has equal access, and all rules are enforced by the smart contract code.

# Does it cost anything to use the platform?

EtherFeed social platform is free to use. However, every on-chain interaction requires a gas fee paid in ETH to secure the network and prevent spam.

# Why are there gas fees?

Gas fees are necessary for every transaction on the blockchain. They secure the network, incentivize miners, and ensure that every action carries a real cost.

# How do I register and set up my profile?

You create an account by calling createAccount(nickname, username) with:

  • Nickname: Your display name (cannot be empty).
  • Username: Must be at least 5 characters long, alphanumeric only, and unique regardless of case. For example, if “Alice” is taken, then “alice” or “ALIcE” cannot be used.

Once registered, you can update your profile fields (about, location, website, profile/cover pictures, pinned post) using dedicated update... functions.

# Can I change my username later?

Yes. Use changeUsername(newUsername) to update your username. The new username must also be unique (case-insensitive), alphanumeric, and at least 5 characters long. This action requires a gas fee.

# How do I update my Profile Picture and Cover Picture?

Provide a public URL (e.g., ending in .png or .jpg) to your image. The front-end fetches the image and displays it on your profile.

# What Markdown syntax is supported?

EtherFeed Social now fully supports Markdown to help you create rich, engaging posts. Here are some of the key rules:

  • Headings: Use one or more # symbols. For example, # Heading 1 or ## Heading 2.
  • Bold: Wrap your text in double asterisks or underscores. For example, **bold text** or __bold text__.
  • Italics: Wrap your text in single asterisks or underscores. For example, *italic text* or _italic text_.
  • Links: Format links as [Link text](https://example.com). All links now open in a new tab automatically.
  • Images: Embed images by using the syntax ![](https://example.com/image.jpg). Images will automatically adjust to fit the screen while maintaining their aspect ratio.
  • Code Blocks: Use triple backticks (```) before and after your code to create a multi-line code block.
  • Inline Code: Wrap inline code with single backticks. For example, `code`.
  • Lists: Create unordered lists using - or *, and ordered lists using numbers (e.g., 1., 2.).
  • Blockquotes: Start a line with a > to create a blockquote.

Experiment with these rules to make your posts stand out!

# What are Reposts and how do I use them?

Reposts let you share an existing post—whether it's from another user or your own—onto your feed. Call createRepost(globalPostId, reposterContent) to create a repost. The reposterContent is optional and allows you to add your own commentary.

# How do I edit posts, reposts, and comments?

You can modify your on-chain content after publishing:

  • editPost(globalPostId, newContent) for standard posts.
  • editRepost(globalPostId, newReposterContent) for reposts.
  • editComment(globalPostId, commentId, newComment) to update comments.

# How do I hide my content?

Use hidePost(globalPostId, true) or hideComment(globalPostId, commentId, true) to hide posts or comments without deleting them. The isHidden flag is set, allowing UIs to optionally filter out hidden content.

# What additional profile fields exist now?

In addition to your nickname and username, you can store:

  • About: A short bio or personal description.
  • Location: Your geographical area or region.
  • Website: A link to your personal or business website.
  • Profile & Cover Pictures: URLs pointing to your images.
  • Pinned Post: Highlight one post on your profile.

# What is User Comment History?

EtherFeed tracks all your comments on-chain. This complete comment history is indexed for transparency and accountability, so anyone can retrieve the record of your on-chain interactions.

# How do I react to posts or comments?

You can “like” or “dislike” posts and comments via reactToPost() or reactToComment(). The contract records these reactions on-chain, and you can update your reaction by calling the function again.

# What is pinning a post?

Pinning allows you to feature one of your posts at the top of your profile. Use pinPost(globalPostId) to set or change your pinned post.

# How does following work?

The following system is made to filter posts per block. In a future UI update, when you load the homepage, the client will sync with Ethereum blocks and examine each post; if you are following the post's author, the post will be loaded, otherwise it will be skipped.

Use followUser(targetAddr, true) to follow a user and followUser(targetAddr, false) to unfollow. The contract updates your follower and following counts on-chain.

# Why can't I see a list of all my followers directly?

The contract only stores a boolean relationship (following/not following). For large numbers of followers, storing a full list on-chain per user would be impractical. A Graph-based indexer in the future may provide off-chain queries for that data.

# What’s new in the UI?

The front-end has been completely redesigned to offer:

  • ✅ A modern, responsive layout with a loader, top bar, and sidebar navigation.
  • ✅ Clear message alerts that notify you of on-chain transaction statuses in real time.
  • ✅ Seamless integration with the new data structure for faster queries and updates.

# Do I need a Ethereum wallet?

Yes, you need a Web3 wallet (currently MetaMask; more wallets coming) connected to Ethereum to interact with EtherFeed.

# Is there any censorship or admin control?

No. EtherFeed is completely adminless and not pausable. Nobody can remove or censor your content. You can hide your own posts or comments, but no central authority can delete or censor them.

# Can I run this platform without the official website?

This platform is completely decentralized: you can download or clone the front-end and run it locally, and you can also use a custom Ethereum RPC endpoint to interact directly with the smart contract—so no central authority can block your access.

# What is the contract address?

Contract Address: 0x7e054F3c74a544bCc5BE222AC3B43548C87AA842
View on Explorer

About FAQ

“FAQ” stands for “Frequently Asked Questions.”

This page explains all of EtherFeed’s features and how it works. EtherFeed runs entirely on Ethereum via a single immutable smart contract—there are no hidden servers, no off-chain silos, and no central gatekeepers. Every post, edit, comment, reaction, follow, and profile change is written on-chain; all actions and data are publicly visible and can be independently inspected or cryptographically verified through any Ethereum RPC or block explorer. That means you don’t have to trust a third party—integrity, permanence, and transparency are enforced by the protocol itself.