A modern decentralized application for Ethereum transactions featuring Next.js 15 App Router, TypeScript, and Giphy GIF integration. Send crypto transactions with visual flair!
- 🔗 MetaMask Integration - Seamless wallet connection
- 💸 Send Transactions - Send ETH with messages and keywords on Sepolia testnet
- 🎬 GIF Integration - Visual transaction history with Giphy API
- 📊 Transaction History - Real-time transaction tracking with auto-refresh
- 🎨 Modern UI - Built with Tailwind CSS and responsive design
- ⚡ Next.js 15 - Latest App Router with server actions and client components
- 🔒 Type Safety - Full TypeScript with Zod validation
- 🔄 Auto-loading - Transaction history loads instantly upon page visit
- Next.js 15.0.3 with App Router
- React 18.3.1 with modern hooks
- TypeScript 5.6.3 with comprehensive types
- Tailwind CSS Latest with forms plugin
- ethers.js 6.13.4 for blockchain interaction
- Zod 4.1+ for runtime validation
- Solidity 0.8.27
- Hardhat 2.22.15
- Deployed on Sepolia testnet
- Giphy API for keyword-based GIF display
cloudchain-solidity/
├── client/ # Next.js 15 App Router frontend
│ ├── app/ # App Router pages and layouts
│ │ ├── layout.tsx # Root layout with providers
│ │ ├── page.tsx # Home page
│ │ └── wallet/
│ │ ├── page.tsx # Wallet interface
│ │ └── components/ # Wallet-specific components
│ │ ├── WalletClient.tsx
│ │ ├── TransactionList.tsx
│ │ ├── GifDisplay.tsx
│ │ └── ...
│ ├── lib/ # Business logic and utilities
│ │ ├── actions/ # Server actions
│ │ ├── hooks/ # Custom React hooks
│ │ ├── types/ # TypeScript definitions
│ │ └── utils/ # Utility functions
│ └── globals.d.ts # Global type declarations
└── smart_contract/ # Hardhat development environment
├── contracts/
│ └── Transactions.sol # Main smart contract
├── scripts/
│ └── deploy.js # Deployment script
└── test/ # Contract tests
- Node.js 18+
- MetaMask browser extension
- Git
git clone https://github.com/Yevhenbk/cloudchain-solidity.git
cd cloudchain-soliditycd smart_contract
npm install
npx hardhat compile
npx hardhat testcd ../client
npm installCreate .env file in the client directory:
NEXT_PUBLIC_VITE_GIPHY_API=your_giphy_api_key_herenpm run devVisit http://localhost:3000 to see the application.
- Smart Contract: Deployed on Sepolia testnet
- Contract Address:
0x53B4E280602594C99EeBBE5F86269824B6E8853A - Network: Sepolia (Chain ID: 11155111)
- Add Sepolia network to MetaMask
- Get test ETH from Sepolia Faucet
- Connect your wallet in the application
- Connect Wallet: Click "Connect Wallet" and approve MetaMask connection
- Send Transactions:
- Enter recipient address
- Specify amount in ETH
- Add a keyword (for GIF display)
- Add optional message
- Confirm transaction in MetaMask
- View History: Transaction history loads automatically with GIFs based on keywords
- Enjoy GIFs: Watch your transactions come to life with animated GIFs!
The application integrates with Giphy API to display relevant GIFs based on transaction keywords:
- Live Preview: See GIF preview while typing keywords
- Transaction History: Each transaction displays a GIF matching its keyword
- Smart Fallbacks: Beautiful fallbacks when GIFs can't be loaded
- Performance: Intelligent caching and debounced loading
cd smart_contract
npx hardhat test- Connect MetaMask to Sepolia testnet
- Get test ETH from faucet
- Send a transaction with keyword like "happy" or "money"
- Watch GIF appear in transaction history
- App Router: Modern Next.js 15 with server/client separation
- Server Actions: Optimistic updates with server-side logic
- Type Safety: End-to-end TypeScript with runtime validation
- Modern Hooks: Custom hooks for wallet and transaction management
- Error Boundaries: Graceful error handling throughout the app
- Responsive Design: Mobile-first approach with Tailwind CSS
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- Live Demo: Cloudchain DApp
- Smart Contract: View on Sepolia Etherscan
- Repository: GitHub
Made with ❤️ by Yevhenbk