Advertisement
Guest User

Untitled

a guest
Sep 24th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. pragma solidity ^0.4.0;
  2.  
  3. contract ERC20_Token {
  4.  
  5.     address owner;
  6.     string public name;
  7.     string public symbol;
  8.     uint8  public decimals;
  9.     uint256 public totalSupply;
  10.  
  11.     mapping (address => uint256) public balanceOf;
  12.     mapping (address => mapping(address => uint)) allowance;
  13.  
  14.     event Transfer(address from, address to, uint256 value);
  15.     event Approval(address from, address to, uint256 value);
  16.  
  17.  
  18.     constructor (string _name, string _symbol) public {
  19.         decimals = 8;
  20.         symbol = _symbol;
  21.         name = _name;
  22.         totalSupply = 1000000 * (10 ** uint256(decimals));
  23.         balanceOf[msg.sender] = totalSupply;
  24.         owner = msg.sender;
  25.     }
  26.  
  27.     function _transfer(address _from, address _to, uint256 _value) internal {
  28.         require(_to != 0x0);
  29.         require(balanceOf[_from] >= _value);
  30.         require( balanceOf[_to] + _value >= balanceOf[_to]);
  31.         balanceOf[_from] -= _value;
  32.         balanceOf[_to] += _value;
  33.         emit Transfer(_from, _to, _value);
  34.     }
  35.  
  36.     function transfer(address  _to, uint256 _value ) public {
  37.         _transfer(msg.sender,_to,_value);
  38.     }
  39.  
  40.     function transferFrom(address _from, address _to, uint256 _value ) public {
  41.         require(_value <= allowance[_from][_to]);
  42.         _transfer(_from, _to, _value);
  43.     }
  44.  
  45.     function approve(address _to, uint256 _value) public {
  46.         allowance[msg.sender][_to] = _value;
  47.         emit Approval(msg.sender,_to, _value);
  48.     }
  49.     function mint(uint256 _value) public {
  50.         require(msg.sender == owner);
  51.         totalSupply += _value * (10 ** uint256(decimals));
  52.     }
  53.     function burn(uint256 _value) public {
  54.         require(msg.sender == owner);
  55.         require (totalSupply >= _value* (10 ** uint256(decimals)));
  56.         totalSupply -= _value * (10 ** uint256(decimals));
  57.     }
  58.  
  59.     function balance(address _owner) public view returns (uint256){
  60.         return balanceOf[_owner];
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement