# Deploy smart contract on Scroll

By [skidrow](https://paragraph.com/@octogamex-2) · 2023-04-12

---

### 1- go to this site

[Remix - Ethereum IDE](https://remix.ethereum.org/)

[remix.ethereum.org](https://remix.ethereum.org/)

### 2- click “create new file” ex: arzbama\_scroll.sol3- copy this code and paste in right panel

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.4;
    
    interface IERC20 {
     
        event Transfer(address indexed from, address indexed to, uint256 value);
    
        event Approval(address indexed owner, address indexed spender, uint256 value);
    
        function totalSupply() external view returns (uint256);
    
        function balanceOf(address account) external view returns (uint256);
    
         function transfer(address to, uint256 amount) external returns (bool);
    
        function allowance(address owner, address spender) external view returns (uint256);
    
        function approve(address spender, uint256 amount) external returns (bool);
    
        function transferFrom(
            address from,
            address to,
            uint256 amount
        ) external returns (bool);
    }
    
    contract ERC20 is IERC20 {
    
        mapping(address => uint256) public override balanceOf;
    
        mapping(address => mapping(address => uint256)) public override allowance;
    
        uint256 public override totalSupply; 
    
        string public name;   
        string public symbol;  
        
        uint8 public decimals = 18; 
        address public owner;
    
        constructor(string memory name_, string memory symbol_){
            name = name_;
            symbol = symbol_;
            owner = msg.sender;
        }
    
        function transfer(address recipient, uint amount) external override returns (bool) {
            balanceOf[msg.sender] -= amount;
            balanceOf[recipient] += amount;
            emit Transfer(msg.sender, recipient, amount);
            return true;
        }
    
        function approve(address spender, uint amount) external override returns (bool) {
            allowance[msg.sender][spender] = amount;
            emit Approval(msg.sender, spender, amount);
            return true;
        }
    
        function transferFrom(
            address sender,
            address recipient,
            uint amount
        ) external override returns (bool) {
            allowance[sender][msg.sender] -= amount;
            balanceOf[sender] -= amount;
            balanceOf[recipient] += amount;
            emit Transfer(sender, recipient, amount);
            return true;
        }
    
        function mint(uint amount) external {
            require(owner == msg.sender);
            balanceOf[msg.sender] += amount;
            totalSupply += amount;
            emit Transfer(address(0), msg.sender, amount);
        }
    
        function burn(uint amount) external {
            balanceOf[msg.sender] -= amount;
            totalSupply -= amount;
            emit Transfer(msg.sender, address(0), amount);
        }
    
    }
    

### 3- click compile

### 3- click compile

### 4-choose injected provider - metamask

5- type name\_ and symbol\_ with strings, such as tobber, tob.

### click the “transact”

### 6- type 18000000000000000000000000 to “mint” function and click “transact”

### copy the address of our token address

free collect entry

### 7- go to this site and create liquidity

<[https://uniswap-v3.scroll.io/](https://uniswap-v3.scroll.io/) >

[Subscribe](null)

---

*Originally published on [skidrow](https://paragraph.com/@octogamex-2/deploy-smart-contract-on-scroll)*
