Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

565 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Ignite - Smart Contract Deployment Tool

A secure, modular smart-contract deployer with a visual workflow interface and container-based plugin system.

🎯 Current Status: Production-Ready Standalone Executable

Ignite now operates as a fully self-contained executable with:

  • 🏗️ Standalone Architecture: Single executable with embedded frontend and plugin assets
  • 📦 Unified Asset Management: Automatic gzip compression/decompression system
  • 🔍 Foundry Detection: Working project detection in both development and production
  • 🐳 Container Plugins: Docker-based plugin system with volume sharing
  • 🛡️ Safety Features: Automatic workspace mounting with sensitive directory protection
  • ⚡ Optimized Performance: Compressed assets for minimal bundle size

🏁 Quick Start

Run the executable anywhere:

# Download and run (detects foundry projects automatically)
./ignite-core-macos-x64                    # Auto-mount current directory
./ignite-core-macos-x64 --path /my/project # Mount specific project

# Safety: Won't auto-mount sensitive directories (/, ~, ~/Documents)

Or develop with hot reload:

npm install && npm run dev  # Full development environment

Development

Prerequisites:

  • Volta - Node.js version manager (automatically uses Node 20.x from package.json)
# Install volta if you haven't already
curl https://get.volta.sh | bash

# Clone and setup (volta will automatically use correct Node version)
npm install  # This will run postinstall hook to setup backend and frontend

# Run both frontend and backend with hot reload
npm run dev

This will start:

  • Backend server on http://localhost:1401
  • Frontend dev server on http://localhost:1402 (which proxies to backend)

To override the dev ports:

IGNITE_CORE_PORT=1501 IGNITE_FRONTEND_PORT=1502 npm run dev

🏗️ Production Build

# Complete build pipeline (frontend + plugins + executable)
npm run build

What happens during build:

  1. Frontend: Vite build with automatic gzip compression
  2. Plugins: Auto-discovery, esbuild compilation, and gzip compression
  3. Assets: Copy optimized assets to dist-assets/
  4. Core: TypeScript compilation
  5. Package: Create standalone executables with pkg

Individual build steps:

npm run build:frontend   # React + Vite + gzip compression
npm run build:plugins    # Auto-discover and compress all plugins
npm run build:core       # TypeScript backend compilation
npm run copy:assets      # Prepare assets for pkg bundling
npm run clean            # Clean all build artifacts

Output: Cross-platform executables in core/dist-pkg/

🏛️ Architecture

┌─────────────────────────────────────────┐
│ Standalone Executable (ignite-core)    │
│  • Embedded React frontend (gzipped)   │
│  • Embedded plugin bundles (gzipped)   │
│  • AssetManager (unified decompression) │
│  • Docker container orchestration      │
│  • Auto workspace mounting + safety    │
└─────────────────────────────────────────┘
                    │
┌─────────────────────────────────────────┐
│ Container Plugin System                 │
│  repo-managers/    compilers/          │
│  ├─ local-repo     ├─ foundry          │
│  └─ cloned-repo    └─ hardhat          │
│                                         │
│  • Volume sharing via VolumesFrom      │
│  • Auto-discovery build system         │
│  • Gzip compression for optimization   │
└─────────────────────────────────────────┘

🧪 Testing & Usage

1. Build and test the executable:

npm run build
cd core/dist-pkg
./ignite-core-macos-x64  # (or your platform)

2. Test foundry detection:

# In a foundry project directory
./ignite-core-macos-x64
# Open http://localhost:1301 → should detect foundry automatically

# Or specify path
./ignite-core-macos-x64 --path /path/to/foundry/project

3. Development mode:

npm run dev
# Open http://localhost:1302 → hot reload enabled

✅ Current Capabilities

  • 🏗️ Standalone Executables: Self-contained, no external file dependencies
  • 🔍 Framework Detection: Automatic foundry project detection
  • 📦 Asset Management: Unified compression/decompression system
  • 🐳 Plugin System: Docker-based plugin execution with volume sharing
  • 🛡️ Security: Localhost-only access, sensitive directory protection
  • ⚡ Performance: Optimized with gzip compression, minimal bundle size
  • 🔧 Developer Experience: Hot reload, automatic browser opening, clear error messages

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages