A dual-assistant chat interface for Solidity development and security auditing, powered by OpenAI and integrated with Ethereum wallet functionality.
- Dual Assistant Interface:
- Developer Assistant for Solidity code development
- Security Auditor Assistant for code review and vulnerability detection
- Real-time Code Analysis: Get instant feedback on your Solidity code
- Security Auditing: Receive detailed security assessments of your smart contracts
- Wallet Integration: Connect your Ethereum wallet using RainbowKit
- Code Deployment: Deploy your verified contracts directly to Ethereum networks
- Markdown Support: Code blocks and formatting in chat messages
- Dark Mode: Built-in dark mode support
- Node.js 18+ and pnpm
- An Ethereum wallet (MetaMask, Rainbow, etc.)
- OpenAI API key
- WalletConnect Project ID
- Create a
.env.localfile in the root directory with the following variables:
OPENAI_API_KEY=your_openai_api_key- Get a WalletConnect Project ID:
- Go to WalletConnect Cloud
- Create a new project
- Copy your Project ID
- Replace
YOUR_PROJECT_IDincomponents/wallet-provider.tsxwith your actual Project ID
- Clone the repository
- navigate to
solidity-devdirectory - install pnpm globally if needed
npm install -g pnpm- Install dependencies:
pnpm install- Start the development server:
pnpm dev-
Connect Your Wallet:
- Click the "Connect Wallet" button in the top right
- Choose your preferred wallet provider
- Approve the connection request
-
Developer Assistant:
- Write or paste your Solidity code
- Get instant feedback and suggestions
- Receive code improvements and best practices
-
Security Auditor:
- Submit your code for security review
- Get detailed vulnerability analysis
- Receive recommendations for security improvements
-
Deploy Contracts:
- After getting your code reviewed
- Click the "Deploy" button
- Confirm the transaction in your wallet
- View the deployed contract address
solidity-dev/
├── app/
│ ├── api/ # API routes for OpenAI integration
│ ├── components/ # React components
│ ├── lib/ # Utility functions and configurations
│ └── page.tsx # Main application page
├── components/
│ ├── chat-message.tsx # Chat message component
│ ├── code-editor.tsx # Code editor component
│ ├── deploy-contract.tsx # Contract deployment component
│ ├── theme-provider.tsx # Theme management
│ └── wallet-provider.tsx # Wallet integration
└── public/ # Static assets
- Next.js 14
- React
- TypeScript
- Tailwind CSS
- OpenAI API
- RainbowKit
- wagmi
- shadcn/ui
- Monaco Editor
- React Markdown
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT models
- Next.js team for the framework
- Shadcn UI for the component library