> For the complete documentation index, see [llms.txt](https://docs.harmony.one/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.one/home/developers/deploying-on-harmony/using-remix/ethereum-remix.md).

# Ethereum Remix

Go to <https://remix.ethereum.org/>

### Writing your smart contract

![1. Create a "New File" under contracts with name Counter.sol](/files/-Mc1lM9pFoGLpbgiCUbQ)

Copy and paste the code below to Counter.sol file

```
pragma solidity >=0.4.22 <0.8.0;

contract Counter {
    uint256 private count = 0;
    uint256 moneyStored = 0;

    function incrementCounter() public {
        count += 1;
    }
    function decrementCounter() public {
        count -= 1;
    }

    function addMoney() payable public {
        moneyStored += msg.value;
    }

    function getCount() public view returns (uint256) {
        return count;
    }

    function getMoneyStored() public view returns (uint256){
        return moneyStored;
    }
}
```

### Compiling

![2. Compile Counter.sol](/files/-Mc1monqfFbvnrJZ0gZn)

### Deploying

If you want to deploy the contract to a live network like Harmony Testnet or Mainnet, configure your metamask by adding the required Harmony networks using this [guide](https://docs.harmony.one/home/network/wallets/browser-extensions-wallets/metamask-wallet).

![3. Deploy the compiler contract. Select Injected Web3 for deploying to live network like Harmony testnet.](/files/-Mc1mxYZoFl0RYzg_ZZm)

![4. Confirm the deploy transaction in metamask and you can find the deployed contract address.](/files/-Mc1nOKB3yOwJ_dCktu9)

###
