Repository avatar
Developer Tools
v1.0.0
active

solidity-compiler

io.github.nirholas/solidity-compiler

Browser Solidity compiler IDE - smart contract development testing deploy

Documentation

Lyra Web3 Playground

โœจ Built by nich | GitHub | X/Twitter

MIT License Live Demo TypeScript React Accessibility i18n Author

A comprehensive open-source Web3 learning platform. Professional development environments, AI-assisted tools, security testing, and collaborative features โ€” all in your browser.

Try it now at lyra.works โ†’


๐Ÿ› ๏ธ Development Environments

Professional IDEs

ToolDescriptionLink
Web SandboxFull-featured web IDE with React, Vue, Python, live preview, Vim modelyra.works/ide?type=web
Solidity IDESmart contract IDE with multi-version compiler (0.6.x - 0.8.24)lyra.works/ide?type=solidity
Full-Stack PlaygroundBuild complete dApps with contract + frontend + live previewlyra.works/fullstack-demo
Interactive SandboxIDE with AI assistant, templates, and testnet deploymentlyra.works/sandbox

Innovation Lab (Experimental)

Access at lyra.works/innovation or enable "Innovation Mode" in the sandbox:

FeatureCapability
AI Code WhispererReal-time vulnerability detection, voice control, auto-fix suggestions
Contract Time MachineVersion history, branching, state simulation
Security Testing LabTest contracts against reentrancy, flash loans, overflow attacks
Collaborative ArenaCode with AI teammates, participate in challenges
Neural Gas OracleML-powered gas prediction and optimization
Cross-Chain DeployerDeploy to 8+ chains with automated bridge setup

โ™ฟ Accessibility (WCAG 2.1 AAA)

Comprehensive accessibility support:

FeatureDescription
Dwell ClickClick by hovering โ€” no mouse button required
Reading GuideHorizontal line follows cursor position
Color Blind FiltersProtanopia, Deuteranopia, Tritanopia support
Text-to-SpeechRead content aloud with adjustable speed/pitch
Cognitive SupportSimplified mode, focus mode, extended timeouts
Code-to-EnglishTranslates Solidity to plain English explanations

See ACCESSIBILITY.md for complete documentation.


Quick Access to All Tools

ToolURLDescription
IDE Hub/ideChoose Web Sandbox or Solidity IDE
Web Sandbox/ide?type=webHTML/CSS/JS/React/Vue/Python IDE
Solidity IDE/ide?type=soliditySmart contract development
Interactive Sandbox/sandboxSandbox with AI assistant
Contract Playground/playgroundTemplate-based contract editor
Learning Playground/learnInteractive tutorials
Full-Stack Demo/fullstack-demoContract + Frontend builder
Innovation Lab/innovationExperimental AI features
Markets/marketsLive crypto prices & DeFi data
Explore/exploreCommunity projects gallery

๐ŸŽฏ Who is this for?

You are...Lyra helps you...
๐ŸŒฑ Complete beginnerLearn Solidity with step-by-step tutorials
๐Ÿ’ป Web developerTransition to Web3 with familiar tools
๐ŸŽ“ StudentPractice smart contracts without spending gas
๐Ÿ”ง BuilderPrototype dApps quickly with templates
๐Ÿ‘ฉโ€๐Ÿซ EducatorTeach blockchain with interactive examples

โšก Start in 30 Seconds (No Install)

Option 1: Just use the website

  1. Go to lyra.works
  2. Click any tutorial or example
  3. Start coding immediately

Option 2: Try the Solidity IDE

  1. Go to lyra.works/ide
  2. Write or paste a smart contract
  3. Click "Compile" then "Deploy" (uses JavaScript VM - no wallet needed)

Option 3: Follow a tutorial

  1. Go to lyra.works
  2. Scroll to "Learn Web3 Development"
  3. Pick a tutorial based on your level

๐ŸŽฎ What can you do here?

For Learning

  • ๐Ÿ“– 50+ tutorials from "What is a blockchain?" to advanced DeFi
  • ๐ŸŽฏ Interactive examples - code runs as you read
  • ๐Ÿ’ก Instant feedback - see errors and results immediately
  • ๐Ÿ† Progress tracking - pick up where you left off

For Building

  • โšก Solidity IDE - compile and deploy in seconds
  • ๐Ÿ“ 40+ templates - tokens, NFTs, DAOs, DeFi
  • ๐Ÿค– AI dApp Builder - describe what you want, get code
  • ๐Ÿ”— Multi-chain - Ethereum, Polygon, Base, Arbitrum, and more

For Everyone

  • ๐ŸŒ 10 languages - English, Spanish, Chinese, Arabic, and more
  • โ™ฟ Fully accessible - screen readers, keyboard nav, color blind support
  • ๐ŸŒ™ Dark mode - easy on the eyes
  • ๐Ÿ“ฑ Mobile friendly - learn on any device

๐Ÿ“š Learning Paths

๐ŸŒฑ I'm new to blockchain

  1. Start with What is Ethereum? tutorial
  2. Learn Your First Smart Contract
  3. Try the Hello World example

๐Ÿ’ป I know JavaScript, teach me Solidity

  1. Read Solidity for JS Developers
  2. Compare JavaScript vs Solidity
  3. Build a Simple Token

๐Ÿš€ I want to build a dApp

  1. Use the AI dApp Builder - describe your idea
  2. Or start with a template
  3. Deploy to testnet and share with the community

โœจ Features

๐ŸŽฎ Premium Code Sandbox (NEW!)

  • World-class IDE comparable to CodePen, JSFiddle, and Remix
  • Web Sandbox: Multi-file projects with HTML, CSS, JS, React, Vue, Python
  • Solidity IDE: Full-featured smart contract development environment
  • Split-pane layouts with draggable resize
  • Device presets for responsive testing (Desktop/Tablet/Mobile)
  • Auto-run on change with live preview
  • Console panel with log/warn/error capture
  • Settings panel: Theme, font size, Vim mode, auto-save, and more

๐ŸŽฎ Interactive Code Playground (/playground)

  • Multi-file editor with file tabs (HTML, CSS, JS, Solidity, JSON, and more)
  • Dual-pane layout with live hot-reload preview
  • Console capture โ€” see console.log/warn/error from your code in real-time
  • File management โ€” create, delete, and switch between files
  • AI-powered contract generation from natural language prompts
  • 40+ smart contract templates ready to deploy
  • One-click deployment to any supported blockchain

๐Ÿ”ง Solidity Development (NEW!)

  • Multiple Solidity versions (0.6.x through 0.8.24)
  • Real-time compilation with error/warning highlighting
  • Deploy to any network (JS VM, Sepolia, Goerli, Mumbai, Mainnet)
  • Interactive contract UI - call functions directly
  • Transaction history with gas tracking
  • Copy ABI/Bytecode with one click
  • Keyboard shortcuts (Ctrl+S to compile)

๏ฟฝ๏ธ Full-Stack Sandbox (/sandbox)

  • File tree navigation with workspace management
  • Web preview panel with live hot-reload for HTML/CSS/JS projects
  • Console log capture from preview iframe
  • Contract interaction panel for deployed smart contracts
  • AI Assistant integration for code suggestions
  • Innovation Mode โ€” experimental features like AI Whisperer, Time Machine, Exploit Lab
  • Export/share workspaces with one click

๐Ÿ“š Smart Contract Templates

  • 40+ ready-to-use templates across categories:
    • ERC-20, ERC-721, ERC-1155 tokens
    • DeFi (staking, vaults, DEX)
    • NFT marketplaces and minting
    • Governance and DAOs
    • Cross-chain bridges

๐Ÿ“– Comprehensive Tutorials

  • 50+ tutorials from beginner to advanced [in progress]
  • Step-by-step guides with interactive examples
  • Topics: Solidity basics, DeFi mechanics, security patterns, gas optimization

๐Ÿ”— Multi-Chain Support

  • Ethereum, Base, Polygon, Avalanche, BSC, Arbitrum
  • Solana integration
  • Monad testnet support

๐Ÿงน Token Consolidation Tool

  • Sweep dust tokens across wallets
  • Multi-chain token management
  • Gas-efficient batch operations

๐ŸŽจ Modern UI/UX

  • Dark/light mode
  • Fully responsive design
  • Keyboard shortcuts for power users
  • Mobile-optimized with bottom navigation

โ™ฟ Accessibility - Beyond WCAG 2.1 AAA (NEW!)

We go far beyond standard accessibility. Our system includes futuristic features that make Web3 truly accessible to everyone:

Quick Profiles (one-click presets):

  • ๐Ÿ‘“ Low Vision โ€ข ๐Ÿฆฏ Blind โ€ข ๐Ÿฆป Deaf โ€ข ๐Ÿ–๏ธ Motor Impaired โ€ข ๐Ÿง  Cognitive

Vision Features:

  • High contrast mode, large text (up to 200%), custom colors
  • Color blind filters: Protanopia, Deuteranopia, Tritanopia, and more
  • Reading guide: Horizontal line follows your cursor for easier reading
  • OpenDyslexic font: Specially designed for dyslexic readers

Motor Accessibility:

  • Dwell Click: Click by hovering - no mouse button needed
  • Large click targets (up to 64px), sticky keys simulation
  • Full keyboard navigation with Alt+A quick access

Cognitive Support:

  • Simplified interface mode, focus mode, reduced animations
  • Extended timeouts, reading speed adjustment
  • Clear, consistent layouts

Screen Reader & Audio:

  • ARIA live regions announce all actions
  • Text-to-Speech: Read content aloud with adjustable speed/pitch
  • Code-to-Natural-Language: Translates code to plain English

Developer-Friendly:

  • Draggable floating accessibility button
  • Export/import custom settings
  • Full keyboard shortcut support

See ACCESSIBILITY.md for full documentation

๐Ÿค– AI-Powered dApp Builder (NEW!)

  • Natural language โ†’ Full-stack dApp generation
  • Generates Solidity + HTML + CSS + JavaScript from prompts
  • Smart contract templates: Token, NFT, DAO
  • Interactive tutorial-style editor with step-by-step guidance
  • Deploy directly to testnets

๐ŸŒ Community Features (NEW!)

  • Share Projects: Publish your work with unique shareable links
  • Explore Gallery: Discover projects, templates, and tutorials from the community
  • Like & Comment: Engage with other developers' work
  • Fork Projects: Build on top of others' code
  • Wallet Authentication: Connect wallet to access community features
  • Embed Code: Embed shared projects in your own websites

๐ŸŒ Internationalization (NEW!)

  • 10 languages supported out of the box
  • English, Spanish, Chinese, French, German, Japanese, Korean, Portuguese, Russian, Arabic
  • RTL support for Arabic
  • Language selector in navigation
  • Persisted language preference

๐Ÿ“Š Market Data Integration (NEW!)

  • Live Crypto Prices: Real-time data from CoinGecko
  • DeFi Analytics: Protocol TVL, yields from DeFiLlama
  • Chain Statistics: TVL by chain, trending coins
  • Markets Page: Comprehensive market overview at /markets

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/nirholas/lyra-web3-playground.git
cd lyra-web3-playground

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:3000 in your browser.

Build for Production

npm run build
npm run preview

๐Ÿ—๏ธ Project Structure

โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/     # React components
โ”‚   โ”‚   โ”œโ”€โ”€ Accessibility/    # Comprehensive a11y system
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AccessibilityButton.tsx  # Floating button
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AccessibilityPanel.tsx   # Settings panel
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ DwellClick.tsx           # Click-by-hovering
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ReadingGuide.tsx         # Line highlighter
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ColorBlindFilters.tsx    # Color blind support
โ”‚   โ”‚   โ”œโ”€โ”€ CodePlayground/   # Monaco editor & compiler
โ”‚   โ”‚   โ”œโ”€โ”€ Tutorial/         # Tutorial system
โ”‚   โ”‚   โ”œโ”€โ”€ Sandbox/          # Premium sandbox IDEs
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ WebSandbox.tsx       # Web dev sandbox
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SoliditySandbox.tsx  # Solidity IDE
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ UnifiedSandbox.tsx   # Generic sandbox wrapper
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ShareModal.tsx       # Project sharing modal
โ”‚   โ”‚   โ”œโ”€โ”€ Playground/       # Full-stack dApp playground
โ”‚   โ”‚   โ”œโ”€โ”€ FullStackPlayground/  # AI dApp builder
โ”‚   โ”‚   โ””โ”€โ”€ Consolidation/    # Token consolidation
โ”‚   โ”œโ”€โ”€ pages/          # Route pages
โ”‚   โ”‚   โ”œโ”€โ”€ SandboxPage.tsx   # Premium IDE selection
โ”‚   โ”‚   โ”œโ”€โ”€ ExplorePage.tsx   # Community project gallery
โ”‚   โ”‚   โ”œโ”€โ”€ SharedProjectPage.tsx  # View shared projects
โ”‚   โ”‚   โ”œโ”€โ”€ MarketsPage.tsx   # Market data dashboard
โ”‚   โ”‚   โ””โ”€โ”€ ExamplePage.tsx   # Example with sandbox toggle
โ”‚   โ”œโ”€โ”€ services/       # API services
โ”‚   โ”‚   โ”œโ”€โ”€ community.ts      # Sharing, likes, comments, forks
โ”‚   โ”‚   โ””โ”€โ”€ marketData.ts     # CoinGecko & DeFiLlama integration
โ”‚   โ”œโ”€โ”€ hooks/          # Custom React hooks
โ”‚   โ”‚   โ””โ”€โ”€ useMarketData.ts  # Market data hooks
โ”‚   โ”œโ”€โ”€ stores/         # Zustand state management
โ”‚   โ”‚   โ”œโ”€โ”€ accessibilityStore.ts  # 40+ a11y settings
โ”‚   โ”‚   โ”œโ”€โ”€ i18nStore.ts           # 10 languages + RTL
โ”‚   โ”‚   โ”œโ”€โ”€ themeStore.ts          # Dark/light mode
โ”‚   โ”‚   โ””โ”€โ”€ walletStore.ts         # Wallet connection
โ”‚   โ”œโ”€โ”€ styles/
โ”‚   โ”‚   โ”œโ”€โ”€ index.css             # Main styles
โ”‚   โ”‚   โ””โ”€โ”€ accessibility.css     # 580+ lines a11y CSS
โ”‚   โ”œโ”€โ”€ examples/       # Code examples (web3, ai)
โ”‚   โ””โ”€โ”€ utils/          # Helper functions
โ”‚       โ””โ”€โ”€ contractTemplates.ts  # 40+ contract templates
โ”œโ”€โ”€ server/             # Backend API (optional)
โ”œโ”€โ”€ docs/               # Documentation
โ””โ”€โ”€ public/             # Static assets

๐Ÿ› ๏ธ Tech Stack

CategoryTechnology
FrontendReact 18, TypeScript, Vite
StylingTailwindCSS
EditorMonaco Editor
Web3ethers.js v6, viem
StateZustand (with persist)
i18nCustom store (10 languages + RTL)
AccessibilityCustom a11y system (WCAG 2.1 AAA+)
DatabaseSupabase
TestingVitest
DeploymentVercel, Netlify, Docker

๐Ÿ“– Documentation

DocumentDescription
Getting StartedNew to blockchain? Start here!
Quick Start GuideGet up and running locally
IDE GuideAll development environments & URLs
Sandbox GuidePremium sandbox features
Innovation LabAI & experimental features
PlaygroundsAll playground components
Architecture OverviewSystem design
Backend APIAPI reference
Deployment GuideDeploy your own instance
SecuritySecurity practices
AccessibilityA11y features and usage

โ“ Frequently Asked Questions

Do I need to install anything?

No! Just go to lyra.works and start coding. Everything runs in your browser.

Do I need cryptocurrency or a wallet?

No! You can learn and practice without any crypto. The IDE has a "JavaScript VM" mode that simulates a blockchain locally. When you're ready to deploy for real, you'll need MetaMask and testnet ETH (which is free).

Is this free?

Yes, 100% free and open source. No hidden fees, no premium tier. MIT licensed.

I'm getting errors. What do I do?
  1. Check the error message - it usually tells you what's wrong
  2. Make sure your Solidity version matches your code
  3. Check the FAQ page for common issues
  4. Open an issue if you're stuck
Can I use this for my class/workshop?

Absolutely! That's one of the main use cases. You can share links to specific examples, and students can code along in their browsers. No setup required.

How do I deploy to a real network?
  1. Install MetaMask
  2. Get testnet ETH from a faucet (free)
  3. Connect your wallet on Lyra
  4. Select your network (e.g., Sepolia, Mumbai)
  5. Click "Deploy" - your contract is now on the blockchain!
I found a bug / I have a suggestion

Please open an issue! We appreciate all feedback.


๐Ÿค Contributing

Contributions are welcome! Please read our Contributing Guide for details on:

  • Code of conduct
  • Development workflow
  • Pull request process
  • Coding standards
  • Accessible commit messages - We use a format designed for screen readers and cognitive accessibility

Commit Message Format

[type] Clear description in plain English (emoji at end) ๐ŸŽ‰

Example: [add] Keyboard navigation for dropdown menus โ™ฟ

Why this format?

  • Text first - Screen readers read emoji names, so meaning comes first
  • Plain words - Clear for developers with cognitive disabilities
  • Consistent - Easy to scan for low vision users

See CONTRIBUTING.md for full guidelines.

Good First Issues

Check out issues labeled good first issue to get started.


๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


๐Ÿ™ Acknowledgments


If you find this project useful, please consider giving it a โญ

Built with โค๏ธ by nich