Skip to content

Social media platform where users can post and authenticate via smart contracts, built on Ethereum using Nest.js, PostgreSQL, Solidity and Prisma

License

Notifications You must be signed in to change notification settings

Dyslex7c/Decentralized-Twitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Decentralized-Twitter

A re-imagined version of the traditional social media platform - Twitter, but it's decentralized. Built with blockchain technology ensuring transparency, user control and anonymity (pseudonymity) - here you control what you post using smart contracts on Ethereum, and every interaction is recorded securely on the blockchain.

alt text

Development is still under progress ⚠️

Key Features:

Blockchain-Powered: Every tweet, like, or post is stored and verified using Ethereum smart contracts, so nobody can tamper with your data.

Anonymity First: Stay anonymous (pseudonymous) whenever you want to. No personal data is stored in this case except for the wallet address using which a UUID is generated. (Nature of Ethereum is pseudonymous because transactions and wallet address are publicly visible)

Your Data, Your Control: There are no central servers. Your posts are managed through smart contracts which means only you are in control of what you decide to post. Share images/videos through Pinata IPFS, with the IPFS hash (media CID) linked to your post on the blockchain.

Ethereum Wallet Login: Simply connect with your MetaMask wallet to go pseudonymous and continue to post, read, and engage with others. All interactions are between your wallet and the blockchain.

dApp Screenshots

alt text

alt text

alt text

alt text

Usage

Clone the repository if you haven't already

git clone https://github.com/Dyslex7c/Decentralized-Twitter

Install dependencies in both the directories, client and server

Setting up the server

Firstly, launch the database using Docker

docker compose up dev-db -d

Make sure PostgreSQL database is running in the background

After that, set up Prisma

npx prisma generate
npx prisma studio

Finally, run the server

npm run start:dev

Setting up the client

Spin up a local blockchain node with hardhat (optional if you want to deploy the contract on a testnet)

npx hardhat node

Deploy your contract

make deploy

Finally, run npm start and you're good to go.

Disclaimer

These smart contracts and the accompanying web application are provided "as is." No guarantee, representation, or warranty is made, express or implied, regarding the safety, correctness, or functionality of the user interface or the smart contracts. They have not undergone any formal audit, and therefore, there is no assurance that they will operate as intended. Users may encounter delays, failures, errors, omissions, or loss of transmitted information. Ritesh Das is not liable for any of the aforementioned issues or for any losses incurred. Users are advised to proceed with caution and use the application ONLY on localhost or a testnet such as Polygon Amoy, and NOT the mainnet.

About

Social media platform where users can post and authenticate via smart contracts, built on Ethereum using Nest.js, PostgreSQL, Solidity and Prisma

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published