An interactive educational tool for learning Solidity smart contract development, inspired by Python Tutor's visual debugging approach.
- 📝 Advanced Code Editor - Monaco Editor with Solidity syntax highlighting
- 🔍 Step-by-Step Execution - Visual trace of smart contract execution
- 📊 State Visualization - Real-time view of storage, stack, and gas usage
- 🤖 AI Tutor - Intelligent assistant for Solidity concepts (powered by Groq)
- 🌐 Multi-Contract Interactions - Visualize cross-contract calls
- 📈 Execution Flow Diagrams - Python Tutor-style visual flow
- 🌍 Multi-language Support - Spanish, English, French, German, Portuguese
- 🌙 Dark/Light Mode - Comfortable coding in any environment
- 👤 User Progress Tracking - Save progress and contracts (with Supabase)
Visit the live application: https://your-app.vercel.app
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS, shadcn/ui
- Code Editor: Monaco Editor
- AI: Groq API
- Database: Supabase
- Storage: Vercel Blob
- Deployment: Vercel
- Node.js 18+
- npm or yarn
-
Clone the repository ```bash git clone https://github.com/YOUR_USERNAME/solidity-tutor.git cd solidity-tutor ```
-
Install dependencies ```bash npm install ```
-
Run development server ```bash npm run dev ```
-
Open your browser Navigate to http://localhost:3000
For full functionality, create a .env.local file:
```env
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
GROQ_API_KEY=your_groq_api_key
BLOB_READ_WRITE_TOKEN=your_blob_token ```
Note: The app works without these integrations using fallback functionality.
- Write Solidity Code - Use the advanced Monaco editor or simple text editor
- Execute Transactions - Click "Execute deposit(100)" to run the code
- Step Through Execution - Use playback controls to see each step
- Explore Visualizations:
- State Tab: View storage, stack, and gas usage
- Flow Tab: See execution flow with arrows and connections
- Contracts Tab: Visualize multi-contract interactions
- Ask the AI Tutor - Get help understanding Solidity concepts
- Track Progress - Save your work and monitor learning progress
This tool helps students understand:
- Gas Optimization - See real gas costs for each operation
- Storage vs Memory - Visualize data location and costs
- Function Execution Flow - Step-by-step code execution
- Smart Contract Interactions - Cross-contract calls and dependencies
- Security Patterns - require() statements and validation
- Solidity Best Practices - Through AI tutor guidance
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Python Tutor by Philip Guo
- Built with v0 by Vercel
- Solidity syntax highlighting powered by Monaco Editor
- AI tutoring powered by Groq
If you have questions or need help:
- Open an Issue
- Join our Discussions
Made with ❤️ for the Solidity learning community
