This project is a decentralized blog that leverages IPFS as content storage and Ethereum as the blockchain for storing the list of articles.
To view the blog, visit: https://blog.majortom327.eth/ with a web3 enabled browser such as Brave.
The smart contract at the core of this project is designed to be simple yet effective. It serves as a repository for a list of articles, with each article consisting of a title, an IPFS CID (Content Identifier), and a timestamp indicating when it was added.
The smart contract can be found in the blog folder. Please note that it is a git submodule, and you can access it directly through this link: https://github.com/MajorTom327/the-blog.
The web app is built using Vite, React, and TypeScript, offering a seamless and responsive user interface. To interact with the blockchain and retrieve information from the smart contract, the web app utilizes ethers, a popular library for Ethereum development.
You can explore the web app in the dapp folder.
-
Content Storage: The blog content is stored on IPFS, a distributed and decentralized file system. IPFS uses a content-addressable model, where each piece of content is identified by its unique CID. This ensures that the blog's content remains immutable and tamper-proof.
-
Blockchain Integration: Ethereum is used as the underlying blockchain to store the list of articles. The smart contract acts as a bridge between the web app and the blockchain, enabling seamless interactions and data retrieval.
-
Article Retrieval: The web app retrieves the list of articles from the smart contract and displays them in an intuitive and user-friendly manner. When a user clicks on an article, the app fetches the corresponding content from IPFS using the associated CID. This ensures efficient and decentralized access to article content.
While the current version of the decentralized blog provides a solid foundation, there are several potential enhancements that can be considered:
-
User Authentication: Implementing a secure authentication system can enable personalized user experiences, such as allowing users to publish their own articles or interact with the blog through comments and likes.
-
Enhanced Search and Filtering: Implementing robust search and filtering functionality can improve the user experience by allowing users to easily discover and navigate through the articles based on their interests.
-
Integration with Other Blockchains: Exploring the possibility of integrating the blog with other blockchain networks can broaden its reach and enhance interoperability.
By continuously iterating and incorporating user feedback, this decentralized blog has the potential to become a thriving platform for knowledge sharing and content dissemination while upholding the principles of decentralization and transparency.
Note: If you have any questions or would like to provide feedback, feel free to reach out to me on Twitter. If you wish to support this project, you can visit Github or directly send contributions to the blog's smart contract.
Me: majortom327.eth
Blog: blog.majortom327.eth