# Remix

Remix is an integrated development environment that helps you develop, deploy and manage smart contracts for EVM-based blockchains such as Ethereum running in a web browser environment.

<figure><img src="/files/yUt2qA7ZtOIN5vfQv3pj" alt=""><figcaption><p>Remix IDE, Main Screen</p></figcaption></figure>

To learn how to use Remix, let's create and deploy simple smart contracts. The smart contract to be created is a solidity code that sets a greeting message at deployment, queries it through a greet() function, and changes the greeting message through a setGeering() function.

<pre data-line-numbers><code><strong>//SPDX-License-Identifier: Unlicense
</strong>pragma solidity ^0.8.0;

contract Greeter {
    string private greeting;

    constructor(string memory _greeting) {
        greeting = _greeting;
    }

    function greet() public view returns (string memory) {
        return greeting;
    }

    function setGreeting(string memory _greeting) public {
        greeting = _greeting;
    }
}
</code></pre>

When you access the Remix IDE, there are pre-generated contracts. Select and clear these contracts, create a new Greeter.sol, and enter the code above.

<figure><img src="/files/1Y3rUAc0zs32MPQnuc4P" alt=""><figcaption><p>Greeter.sol</p></figcaption></figure>

Select the Solidity Compiler tab and press the 'Compile Greeter.sol' button to compile the smart contract you created. You can select Advanced Configurations to set up additional features such as Enable Optimization.

<figure><img src="/files/K8Ni08mahgf0xEcCIo06" alt=""><figcaption><p>Compile Greeter.sol</p></figcaption></figure>

To deploy smart contracts to the WEMIX3.0 Testnet via MetaMask, add the WEMIX3.0 Testnet from the MetaMask plug-in installed in your web browser, select the account you want to use, and then select 'Injected Provider - MetaMask' from ENVIRONMENT on the 'DEPLOY & RUN TRANSACTION' tab.&#x20;

If the MetaMask is not installed, you can install and set it up through the 'Use MetaMask' link below. If you have confirmed that your account is set up correctly, select the correct sol file in CONTRACT, type the initial greeting string next to the 'Deploy' button, and press the button to run the deployment. When the MetaMask runs, click OK to run the transaction, and the deployment proceeds.

WEMIX has a different fee policy than Ethereum, so press the 'EDIT' button to go to the screen below.

Please refer to the link below for details.

{% content-ref url="/pages/TKU0SU1a9glHEWcI1dlD" %}
[Use MetaMask](/en/quick-start/account/use-metamask.md)
{% endcontent-ref %}

<figure><img src="/files/hLZQ048eFPpqBj3RdL7X" alt=""><figcaption></figcaption></figure>

When a smart contract is deployed, you will see the contract name and functions that call address deployed under 'Deployed Contract'. It looks blue for read functions and orange for write functions. Press the 'greet' button to see the string you entered during deployment. For read functions, it runs immediately, but for functions that need to be written, the transaction must be executed using a MetaMask.

<figure><img src="/files/aMbseXUeVK1z8su1rMyT" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wemix.com/en/tutorial/create-smart-contract/remix.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
