This is a decentralized social media platform inspired by Twitter, built using modern Web3 technologies. It allows users to connect their crypto wallets, post tweets, and interact with others in a censorship-resistant and blockchain-backed environment.
- Wallet Authentication: Log in using your crypto wallet (e.g., MetaMask).
- Post Tweets: Publish messages securely on the blockchain.
- 140-Character Limit: Tweets are limited to 140 characters, ensuring concise communication.
- Decentralized Ownership: All user-generated content is stored on-chain, providing ownership and immutability.
- Next.js: Server-side rendering and dynamic routing.
- TypeScript: Type-safe development for scalability.
- Tailwind CSS: Modern, responsive UI design.
- Thirdweb: Simplified Web3 integration for wallet connection and contract interaction.
- Solidity: Smart contracts for handling tweets and interactions.
- Hardhat: Development and deployment framework for Ethereum-compatible networks.
- Smart Contracts: Deployed on an Ethereum-compatible blockchain (e.g., Polygon or Ethereum testnets).
Follow the steps below to run the project locally:
- Node.js (v16+)
- npm or yarn
- MetaMask (or another Web3 wallet)
- Hardhat installed globally
git clone https://github.com/your-username/decentratweet.git
cd decentratweet
npm install
Create a .env.local
file in the root directory and add the following variables:
NEXT_PUBLIC_THIRDWEB_KEY=your-thirdweb-key
Navigate to the contracts/
directory and run:
npx thirdweb deplot -k SECRET_KEY
Deploy your contracts to an Ethereum-compatible testnet (e.g., Goerli, Mumbai):
npx hardhat run scripts/deploy.js --network sepolia
Copy the deployed contract address and update the frontend configuration.
Start the application locally:
npm run dev
Visit http://localhost:3000
in your browser.
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a new branch (
feature/your-feature-name
). - Commit your changes and push to the branch.
- Open a pull request.
For questions or suggestions, feel free to reach out