Skip to Content
Developer GuideDevelopment PathsBrowser-Based (Remix IDE)

Browser-Based Development with Remix IDE

Remix IDE is a powerful, browser-based development environment that lets you write, compile, deploy, and test smart contracts without installing anything on your computer. It’s the fastest way to start building on WireFluid.

Best For: Beginners, quick prototyping, learning Solidity, testing ideas
Setup Time: 0 minutes (instant)
Requirements: Modern web browser only


Development Path Overview

WireFluid offers two development paths to suit different needs and experience levels:

Development Paths │ ├─ Browser-Based (Remix IDE) ← You are here │ ├─ No installation needed │ ├─ Visual interface │ ├─ Perfect for learning │ └─ Great for prototyping │ ├─ Command Line (Hardhat) │ ├─ Professional development │ ├─ Automated testing │ ├─ CI/CD integration │ └─ Team collaboration

This guide covers the Browser-Based path. For other path, see:


When to Use Remix IDE

Perfect For:

Learning & Education

  • Just starting with smart contracts
  • Learning Solidity syntax
  • Understanding blockchain concepts
  • Teaching or demonstrating code

Rapid Prototyping

  • Testing ideas quickly
  • Building proof of concepts
  • Experimenting with contracts
  • Sharing code snippets

Simple Projects

  • Single-contract deployments
  • Basic token creation
  • Simple dApps
  • Personal projects

Code Review & Auditing

  • Reviewing contract code
  • Testing contract interactions
  • Debugging issues
  • Analyzing gas usage

Not Ideal For:

Complex Projects

  • Multi-contract systems
  • Large codebases
  • Team collaboration
  • Version control workflows

Production Deployments

  • Enterprise applications
  • High-value contracts
  • Automated testing requirements
  • CI/CD pipelines

Advanced Features

  • Automated test suites
  • Custom deployment scripts
  • Gas optimization profiling
  • Integration testing

💡 Tip: Start with Remix to learn, then graduate to Hardhat for production projects!


Getting Started with Remix

Step 1: Open Remix IDE

  1. Open your web browser (Chrome, Brave, or Firefox recommended)
  2. Visit remix.ethereum.org 
  3. Wait for the interface to load (~5 seconds)

No download. No installation. No configuration.

Step 2: Understand the Interface

Remix has three main sections:

┌─────────────────────────────────────────────────┐ │ Remix IDE Interface │ ├──────────────┬──────────────────┬───────────────┤ │ │ │ │ │ Left Panel │ Code Editor │ Right Panel │ │ │ │ │ │ • File │ Your smart │ • RemixAI │ │ Explorer │ contract code │ │ │ • Search │ appears here │ │ │ • Plugins │ │ │ │ │ │ │ ├──────────────┴──────────────────┴───────────────┤ │ Terminal (Bottom) │ │ Logs, errors, transaction details │ └─────────────────────────────────────────────────┘

Step 3: Create Your First File

  1. In the File Explorer (left panel), find the “contracts” folder
  2. Right-click on “contracts”
  3. Select “New File”
  4. Name it HelloWireFluid.sol
  5. Press Enter

Key Features

1. Built-in Solidity Compiler

No installation needed - Remix includes multiple Solidity compiler versions.

How to compile:

  1. Click the “Solidity Compiler” icon (left sidebar)
  2. Select compiler version (0.8.20+ recommended)
  3. Click “Compile”
  4. Check for errors/warnings

Auto-compile option:

  • Enable “Auto compile” to compile on every save
  • Useful for instant feedback while coding

2. Integrated Debugger

Step through transactions to find bugs:

  1. Deploy your contract
  2. Execute a function
  3. Click the transaction in the terminal
  4. Click “Debug”
  5. Step through execution line-by-line

Debugger features:

  • View variable values at each step
  • See gas consumption
  • Identify revert reasons
  • Analyze state changes

3. Multiple Deployment Environments

Remix supports different execution environments:

EnvironmentUse CaseCost
JavaScript VMTesting locally (browser only)FREE
Injected ProviderDeploy to WireFluid Testnet via MetaMaskFREE

For WireFluid, use:

  • Injected Provider (MetaMask) for deployment

4. Plugin System

Extend Remix functionality with plugins:

Essential Plugins:

  • Solidity Unit Testing - Write and run tests
  • Debugger - Debug transactions
  • Gas Profiler - Analyze gas usage
  • Flattener - Flatten contract files

How to activate:

  1. Click the Plugin Manager icon
  2. Search for the plugin
  3. Click “Activate”

5. File Management

Local file system:

  • Files saved in browser storage
  • Persist between sessions
  • Export/import functionality

Import from GitHub:

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";

Import from npm:

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

Remix Workflow

Standard Development Flow

1. Write Code ↓ 2. Compile ↓ 3. Test Locally (JS VM) ↓ 4. Debug if Needed ↓ 5. Deploy to WireFluid Testnet via MetaMask ↓ 6. Verify on WireScan ↓ 7. Interact & Test ↓ 8. Deploy to Mainnet (when ready)

Example: Complete Workflow

Step 1: Write Your Contract

// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; contract SimpleStorage { uint256 private storedData; event DataUpdated(uint256 newValue); function set(uint256 x) public { storedData = x; emit DataUpdated(x); } function get() public view returns (uint256) { return storedData; } }

Step 2: Compile

  1. Click Solidity Compiler icon
  2. Select compiler version: 0.8.20
  3. Click “Compile SimpleStorage.sol”
  4. Check for green checkmark (success)

Step 3: Test Locally

  1. Click Deploy & Run icon
  2. Set Environment: JavaScript VM (London)
  3. Click Deploy
  4. Test the set() and get() functions

Step 4: Deploy to WireFluid

  1. Switch Environment to: Injected Provider - MetaMask
  2. MetaMask will pop up - click Connect
  3. Ensure MetaMask is on WireFluid Testnet
  4. Click Deploy
  5. Confirm transaction in MetaMask
  6. Wait for confirmation

Step 5: Interact

  1. Contract appears under “Deployed Contracts”
  2. Expand to see all functions
  3. Call set(42) - orange button (costs gas)
  4. Call get() - blue button (free)
  5. View results below

Connecting to WireFluid

Prerequisites

  1. MetaMask setup - Setup MetaMask Wallet
  2. WireFluid testnet added - Setup guide
  3. Testnet WIRE tokens - Get from faucet 

Connection Steps

1. Open Remix Visit remix.ethereum.org 

2. Navigate to Deploy & Run Click the Ethereum logo icon in left sidebar

3. Select Injected Provider In the “Environment” dropdown, select “Injected Provider - MetaMask”

4. Approve Connection MetaMask will pop up:

  • Click “Next”
  • Click “Connect”
  • Remix can now access your wallet

5. Verify Network Check that MetaMask shows:

Network: WireFluid Testnet Chain ID: 92533 Balance: X.XX WIRE

6. Deploy Your Contract

  • Select your contract from the dropdown
  • Enter constructor parameters (if any)
  • Click “Deploy” (orange button)
  • Confirm in MetaMask
  • Wait for confirmation

Best Practices for Remix

Code Organization

Use folders for structure:

contracts/ ├── core/ │ ├── Token.sol │ └── Staking.sol ├── interfaces/ │ └── IToken.sol ├── libraries/ │ └── SafeMath.sol └── tests/ └── Token.test.sol

Naming conventions:

  • Contracts: PascalCase.sol
  • Interfaces: IContractName.sol
  • Libraries: LibraryName.sol
  • Tests: ContractName.test.sol

Testing Strategy

1. Local Testing First

Always test with JavaScript VM before deploying: Faster (no blockchain wait times) Free (no gas costs) Easy debugging Quick iterations

2. Write Unit Tests

// In contracts/tests/SimpleStorage.test.sol import "remix_tests.sol"; import "../SimpleStorage.sol"; contract SimpleStorageTest { SimpleStorage storage; function beforeAll() public { storage = new SimpleStorage(); } function testSetAndGet() public { storage.set(42); Assert.equal(storage.get(), 42, "Value should be 42"); } }

3. Test on Testnet Before mainnet deployment:

  • Deploy to WireFluid testnet
  • Test all functions
  • Monitor gas costs
  • Check edge cases

Security Considerations

Before deploying to mainnet:

  1. Use Latest Compiler

    • Select Solidity 0.8.20 or higher
    • Enable optimizer (200 runs)
    • Check for warnings
  2. Import Audited Code

// Good: Use OpenZeppelin import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; // Bad: Write everything from scratch contract MyToken { /* reinventing the wheel */ }
  1. Enable Security Plugins

    • Slither - Static analysis
    • MythX - Security scanning
    • Activate via Plugin Manager
  2. Test Edge Cases

    • Zero values
    • Maximum values
    • Unauthorized access
    • Reentrancy scenarios

Tips & Tricks

Keyboard Shortcuts

Ctrl/Cmd + S Save file Ctrl/Cmd + F Find Ctrl/Cmd + H Find and replace Ctrl/Cmd + / Toggle comment Ctrl/Cmd + D Duplicate line Alt + Up/Down Move line up/down

Quick Actions

Fast compilation:

  • Enable “Auto compile” for instant feedback
  • Use “Solidity” language mode for syntax highlighting

Efficient testing:

  • Pin frequently used contracts
  • Use JavaScript VM for rapid testing
  • Keep terminal visible for quick feedback

Smart deployment:

  • Set gas limit before deploying
  • Test constructor parameters locally first
  • Copy contract address immediately after deployment

Useful Settings

Solidity Compiler:

Enable optimization: ON Runs: 200 (balanced) Auto compile: ON (for rapid development) Hide warnings: OFF (catch potential issues)

Deploy & Run:

Gas limit: 3000000 (sufficient for most contracts) Value: 0 (unless sending WIRE with deployment)

Common Workflows

Workflow 1: Learning Solidity

1. Start with examples: - File > Load > Select example contracts 2. Modify and experiment: - Change values - Add functions - Break things (safely!) 3. Test immediately: - JavaScript VM for instant feedback 4. Read error messages: - Learn from mistakes - Understand compiler warnings

Workflow 2: Building a Token

1. Import OpenZeppelin: import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; 2. Create your token: contract MyToken is ERC20 { constructor() ERC20("MyToken", "MTK") { _mint(msg.sender, 1000000 * 10**18); } } 3. Test locally (JavaScript VM) 4. Deploy to WireFluid Testnet 5. Add to MetaMask 6. Test transfers

Workflow 3: Testing Contract Interactions

1. Deploy multiple contracts: - Contract A - Contract B (uses Contract A) 2. Copy Contract A address 3. Deploy Contract B with A's address 4. Test interactions 5. Debug if needed

Comparison: Remix vs Other Tools

FeatureRemixHardhatFoundry
Setup TimeInstant~5 minutes~10 minutes
InstallationNoneNode.jsRust + Foundry
Learning CurveEasyModerateSteep
UIVisualCLICLI
TestingBasicAdvancedAdvanced
DebuggingBuilt-inVia pluginsVia traces
Version ControlManualNative GitNative Git
Team WorkDifficultEasyEasy
Best ForLearningProductionPerformance

Resources

Official Documentation

Tutorials Using Remix

Advanced Topics


Next Steps

Continue with Remix

Master the basics:

Explore Other Paths

Ready for professional development?


Common Questions

Q: How do I save my work? A: Remix auto-saves to browser storage. For backups, export your workspace regularly.

Q: Can I deploy to mainnet with Remix? A: Yes, and we recommend testing thoroughly on testnet first and considering Hardhat for high-value contracts.

Q: Is Remix secure? A: Remix is open-source and audited, and always verify contract addresses for mainnet deployments.


Ready to start building? Open Remix IDE  and deploy your first contract to WireFluid in minutes!

Last updated on