Solidity Compiler IDE

io.github.nirholas由 GitHub 账号 nirholas 发布v1.0.0更新于 Oct 24, 2026

Browser Solidity compiler IDE - smart contract development testing deploy

已验证STDIO仅桌面开发者工具AI 与机器学习

概览

AI 生成的概览

一个本地运行的 Solidity 编译器 IDE 服务器,让助手在浏览器 Web3 演练场中进行智能合约的开发、测试与部署。

可以做什么
使用多个编译器版本(0.6.x 至 0.8.24)编译 Solidity 合约,显示错误与警告,并可复制 ABI 或字节码。将合约部署到模拟的 JavaScript VM 或 Sepolia、Mumbai、Mainnet 等测试网与网络,随后调用函数并查看带 gas 统计的交易记录。根据自然语言提示生成合约,或从代币、NFT、DeFi、DAO 和跨链桥模板库起步。构建包含合约、前端和实时预览的全栈 dApp,并针对重入、闪电贷和溢出场景测试合约。浏览教程、示例和社区项目,查看实时加密货币价格与 DeFi 指标。
适用场景
适合希望助手在本地开发环境中协助编写、编译、测试或部署 Solidity 智能合约并快速原型化 dApp 的场景,尤其适用于学习或在测试网上试验。
运行要求
作为本地进程在用户机器上运行(仅限桌面端)。README 描述为 Node.js 18+ 项目,通过 npm install 和 npm run dev 启动,服务地址为 localhost:3000。可选功能需要在 .env 文件中配置凭据:VITE_PRIVY_APP_ID、VITE_API_URL、VITE_INFURA_API_KEY、VITE_SUPABASE_URL 和 VITE_SUPABASE_ANON_KEY。真实网络部署需要 MetaMask 等钱包和测试网资金。
安装前请注意
部署到真实网络会写入区块链并消耗 gas,建议先使用 JavaScript VM 或测试网。钱包登录和 Supabase 支持的社区功能需要凭据,所有以 VITE_ 开头的值都会内联进客户端包而公开,切勿在 .env 中放置私钥或服务器密钥。社区功能会发布和分享项目,市场数据来自第三方服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Solidity Compiler IDE,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Lyra Web3 Playground

✨ Built by nich | GitHub | X/Twitter

[![Repository](https://img.shields.io/badge/source-github-blue)](https://github.com/nirholas/lyra-web3-playground) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)](https://www.typescriptlang.org/) [![React](https://img.shields.io/badge/React-18-61dafb)](https://react.dev/) [![Accessibility](https://img.shields.io/badge/a11y-WCAG%202.1%20AAA-purple)](docs/ACCESSIBILITY.md) [![i18n](https://img.shields.io/badge/i18n-10%20languages-orange)](docs/ARCHITECTURE.md) [![Author](https://img.shields.io/badge/Author-nich-ff69b4)](https://x.com/nichxbt)

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

Get the source on GitHub

Hosting note: the hosted demo at lyra.works is currently offline while hosting is being migrated. Clone the repo and run npm install && npm run dev to use every environment below at http://localhost:3000.


🛠️ Development Environments

Professional IDEs

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

Innovation Lab (Experimental)

Open http://localhost:3000/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

Run npm install && npm run dev, then pick an option below.

Option 1: Browse the tutorials

  1. Open http://localhost:3000
  2. Click any tutorial or example
  3. Start coding immediately

Option 2: Try the Solidity IDE

  1. Open http://localhost:3000/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. Open http://localhost:3000
  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 the "What is Ethereum?" tutorial on the home page (/)
  2. Continue with "Your First Smart Contract" (/)
  3. Try the Hello World example (/example/hello-world)

💻 I know JavaScript, teach me Solidity

  1. Read "Solidity for JS Developers" on the home page (/)
  2. Compare JavaScript and Solidity side by side (/)
  3. Build a Simple Token (/example/erc20-token)

🚀 I want to build a dApp

  1. Use the AI dApp Builder on the home page (/) and describe your idea
  2. Or start from a template in the IDE (/ide)
  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

bash
# Clone the repositorygit clone https://github.com/nirholas/lyra-web3-playground.gitcd lyra-web3-playground
# Install dependenciesnpm install
# Start development servernpm run dev

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

Environment Variables

The app runs without configuration, but wallet login, the backend API, RPC access and Supabase-backed features need credentials. Copy the example file and fill it in:

bash
cp .env.example .env
VariablePurpose
VITE_PRIVY_APP_IDPrivy application ID used for wallet / email login
VITE_API_URLBase URL of the backend API (defaults to http://localhost:3001)
VITE_INFURA_API_KEYInfura project ID for read-only RPC calls
VITE_SUPABASE_URLSupabase project URL
VITE_SUPABASE_ANON_KEYSupabase anon (public) key

Every VITE_-prefixed value is inlined into the client bundle and is therefore public — never put a private key or server secret in .env. Server-side secrets belong in server/.env (see server/.env.example).

Build for Production

bash
npm run buildnpm 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! Run npm run dev and open http://localhost:3000 in your browser. 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, it is free to run. No hidden fees, no premium tier. See the LICENSE file for usage terms.

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 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

bash
[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

All rights reserved. See the LICENSE file for details.


🙏 Acknowledgments


If you find this project useful, please consider giving it a ⭐

Built with ❤️ by nich

Documentation

Full documentation site: https://nirholas.github.io/lyra-web3-playground/

Star History

[Star History Chart]

来源:README.md,提交 779a786

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。