Skip to content

Instantly share code, notes, and snippets.

@albertahn
Forked from gwmccubbin/DappToken.sol
Created May 17, 2021 07:22
Show Gist options
  • Select an option

  • Save albertahn/515f02b3fa6d4fe8aa9e5a4bc00946d6 to your computer and use it in GitHub Desktop.

Select an option

Save albertahn/515f02b3fa6d4fe8aa9e5a4bc00946d6 to your computer and use it in GitHub Desktop.

Revisions

  1. @gwmccubbin gwmccubbin created this gist Mar 4, 2020.
    51 changes: 51 additions & 0 deletions DappToken.sol
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    pragma solidity ^0.5.0;

    contract Token {
    string public name = "DApp Token";
    string public symbol = "DAPP";
    uint256 public totalSupply = 1000000000000000000000000; // 1 million tokens
    uint8 public decimals = 18;

    event Transfer(
    address indexed _from,
    address indexed _to,
    uint256 _value
    );

    event Approval(
    address indexed _owner,
    address indexed _spender,
    uint256 _value
    );

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    constructor() public {
    balanceOf[msg.sender] = totalSupply;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
    require(balanceOf[msg.sender] >= _value);
    balanceOf[msg.sender] -= _value;
    balanceOf[_to] += _value;
    emit Transfer(msg.sender, _to, _value);
    return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
    allowance[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
    require(_value <= balanceOf[_from]);
    require(_value <= allowance[_from][msg.sender]);
    balanceOf[_from] -= _value;
    balanceOf[_to] += _value;
    allowance[_from][msg.sender] -= _value;
    emit Transfer(_from, _to, _value);
    return true;
    }
    }