> For the complete documentation index, see [llms.txt](https://docs.qremix.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qremix.org/introduction/faq.md).

# FAQ

***

### General Questions

**1. What is Q-Remix IDE?**\
Q-Remix IDE is a smart contract development platform built for ease and power. It leverages the **Monaco Editor** (the same as VS Code), providing tools for writing, compiling, deploying, and interacting with smart contracts. It’s designed to be beginner-friendly while offering advanced features like AI-assisted coding, real-time feedback, and robust deployment environments.

### Editor and Compilation

**2. What editor does Q-Remix use?**\
Q-Remix uses the **Monaco Editor**, which supports syntax highlighting for Solidity, JavaScript, and more—offering a smooth, intelligent coding experience.

**3. How do I compile a smart contract in Q-Remix?**\
To compile a contract:

* Click the **Compiler Icon 🛠️** in the left sidebar.
* Select the appropriate Solidity version.
* Choose the `.sol` file to compile.
* Click **Compile**.

**4. What happens after a successful compilation?**\
Upon successful compilation, Q-Remix generates:

* **ABI (Application Binary Interface)**
* **Bytecode**

These are stored in the `artifacts/` folder for deployment and interaction.

**5. What should I do if there are errors during compilation?**\
Errors will appear in the compiler panel, highlighting the file, line number, and description of the issue to help you debug efficiently.

### Deployment and Interaction

**6. How do I deploy a contract in Q-Remix?**\
To deploy:

* Click the **Deploy & Run** tab.
* Choose an environment: **Q-Remix VM** or **Injected Provider (MetaMask)**.
* Select the account.
* Choose the compiled contract.
* Click **Deploy**.

Deployment details appear in the terminal, including the contract address and transaction hash.

**7. What environments are supported for deployment?**

* **Q-Remix VM:** A local environment powered by Hardhat, with 20 test accounts (10,000 ETH each). State persists unless the tab is closed.
* **Injected Provider - MetaMask:** Connects to Ethereum Mainnet or Testnets like Goerli or Sepolia via MetaMask.

**8. How do I interact with a deployed contract?**\
Go to the **Deployed Contracts** section:

* Click a contract to expand its functions.
* Input required parameters and click the function’s button to call it.
* Outputs like transaction hash, gas used, and returned values appear in the terminal.

### Settings and Customization

**9. How can I change the theme or language of the IDE?**

* Open the **Settings** panel.
* Use the toggles to switch between **light/dark** themes.
* Select your preferred **language**.
* Click **Reset to Default Settings** to revert to the original setup.

**10. What does the "Reset to Default Settings" button do?**\
It resets:

* **Theme** to Light Mode
* **Language** to English\
  Useful for restoring default preferences.

### Troubleshooting

**11. Why are my contract states resetting when using Q-Remix VM?**\
Contract states are preserved only as long as the **browser tab remains open**. Closing the tab resets the state and test accounts.

**12. Can I deploy a contract on Ethereum Mainnet using MetaMask in Q-Remix?**\
Yes. Use the **Injected Provider - MetaMask** option to deploy to Ethereum Mainnet or supported testnets like **Goerli** or **Sepolia**.

**13. How many deployed contracts can I interact with in Q-Remix?**\
Q-Remix retains the **five most recently deployed contracts**. Deploying additional contracts will push out the oldest one.
