ETH Price: $3,973.61 (-0.61%)

Token

ERC-20: HOH (HOH)
 

Overview

Max Total Supply

300,000,000 HOH

Holders

392

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
42,236.6316 HOH

Value
$0.00
0x763afc8ab4779407d0f1eedbada05241a0aa20ba
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HOH

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-09-05
*/

pragma solidity ^0.4.23;

library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {

    if (a == 0) {
      return 0;
    }

    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {

    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}


contract ERC20Basic {
    
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
  
}

contract ERC20 is ERC20Basic {
    
  function allowance(address owner, address spender)
    public view returns (uint256);

  function transferFrom(address from, address to, uint256 value)
    public returns (bool);

  function approve(address spender, uint256 value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

contract DetailedERC20 is ERC20 {
  string public name;
  string public symbol;
  uint8 public decimals;

  constructor(string _name, string _symbol, uint8 _decimals) public {
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
  }
}

/**
 * @title 实现ERC20基本合约的接口 
 * @dev 基本的StandardToken,不包含allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;
  
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  function balanceOf(address _owner) public view returns (uint256) {
    return balances[_owner];
  }

}

contract StandardToken is ERC20, BasicToken {
  mapping (address => mapping (address => uint256)) internal allowed;

  /**
   * @dev 从一个地址向另外一个地址转token
   * @param _from 转账的from地址
   * @param _to address 转账的to地址
   * @param _value uint256 转账token数量
   */
  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
    // 做合法性检查
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);
    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

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

  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

}

contract BurnableToken is BasicToken {

  event Burn(address indexed burner, uint256 value);

}

contract MintableToken is StandardToken {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }


  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() public  canMint returns (bool) {
    mintingFinished = true;
    emit MintFinished();
    return true;
  }
}

contract StandardBurnableToken is BurnableToken, StandardToken,MintableToken {


  
}

contract HOH is StandardBurnableToken {
    string public name = 'HOH';
    string public symbol = 'HOH';
    uint8 public decimals = 8;
    uint256 public INITIAL_SUPPLY = 30000000000000000; 
    
  constructor() public {
    totalSupply_ = INITIAL_SUPPLY;
    balances[msg.sender] = INITIAL_SUPPLY;
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

6003805460ff1916815560c060405260808190527f484f48000000000000000000000000000000000000000000000000000000000060a090815261004691600491906100ce565b506040805180820190915260038082527f484f480000000000000000000000000000000000000000000000000000000000602090920191825261008b916005916100ce565b506006805460ff19166008179055666a94d74f4300006007553480156100b057600080fd5b50600754600181905533600090815260208190526040902055610169565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061010f57805160ff191683800117855561013c565b8280016001018555821561013c579182015b8281111561013c578251825591602001919060010190610121565b5061014892915061014c565b5090565b61016691905b808211156101485760008155600101610152565b90565b610767806101786000396000f3006080604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100be57806306fdde03146100e7578063095ea7b31461017157806318160ddd1461019557806323b872dd146101bc5780632ff2e9dc146101e6578063313ce567146101fb57806370a08231146102265780637d64bcb41461024757806395d89b411461025c578063a9059cbb14610271578063dd62ed3e14610295575b600080fd5b3480156100ca57600080fd5b506100d36102bc565b604080519115158252519081900360200190f35b3480156100f357600080fd5b506100fc6102c5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013657818101518382015260200161011e565b50505050905090810190601f1680156101635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017d57600080fd5b506100d3600160a060020a0360043516602435610353565b3480156101a157600080fd5b506101aa6103b9565b60408051918252519081900360200190f35b3480156101c857600080fd5b506100d3600160a060020a03600435811690602435166044356103bf565b3480156101f257600080fd5b506101aa610536565b34801561020757600080fd5b5061021061053c565b6040805160ff9092168252519081900360200190f35b34801561023257600080fd5b506101aa600160a060020a0360043516610545565b34801561025357600080fd5b506100d3610560565b34801561026857600080fd5b506100fc6105af565b34801561027d57600080fd5b506100d3600160a060020a036004351660243561060a565b3480156102a157600080fd5b506101aa600160a060020a03600435811690602435166106eb565b60035460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b6000600160a060020a03831615156103d657600080fd5b600160a060020a0384166000908152602081905260409020548211156103fb57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561042b57600080fd5b600160a060020a038416600090815260208190526040902054610454908363ffffffff61071616565b600160a060020a038086166000908152602081905260408082209390935590851681522054610489908363ffffffff61072816565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546104cb908363ffffffff61071616565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60075481565b60065460ff1681565b600160a060020a031660009081526020819052604090205490565b60035460009060ff161561057357600080fd5b6003805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561034b5780601f106103205761010080835404028352916020019161034b565b6000600160a060020a038316151561062157600080fd5b3360009081526020819052604090205482111561063d57600080fd5b3360009081526020819052604090205461065d908363ffffffff61071616565b3360009081526020819052604080822092909255600160a060020a0385168152205461068f908363ffffffff61072816565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561072257fe5b50900390565b8181018281101561073557fe5b929150505600a165627a7a72305820b1bc1c82658469b1f30a20ed77decfa0013b0a465e6b6b397abc2abfdd2188b10029

Deployed Bytecode

0x6080604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100be57806306fdde03146100e7578063095ea7b31461017157806318160ddd1461019557806323b872dd146101bc5780632ff2e9dc146101e6578063313ce567146101fb57806370a08231146102265780637d64bcb41461024757806395d89b411461025c578063a9059cbb14610271578063dd62ed3e14610295575b600080fd5b3480156100ca57600080fd5b506100d36102bc565b604080519115158252519081900360200190f35b3480156100f357600080fd5b506100fc6102c5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013657818101518382015260200161011e565b50505050905090810190601f1680156101635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017d57600080fd5b506100d3600160a060020a0360043516602435610353565b3480156101a157600080fd5b506101aa6103b9565b60408051918252519081900360200190f35b3480156101c857600080fd5b506100d3600160a060020a03600435811690602435166044356103bf565b3480156101f257600080fd5b506101aa610536565b34801561020757600080fd5b5061021061053c565b6040805160ff9092168252519081900360200190f35b34801561023257600080fd5b506101aa600160a060020a0360043516610545565b34801561025357600080fd5b506100d3610560565b34801561026857600080fd5b506100fc6105af565b34801561027d57600080fd5b506100d3600160a060020a036004351660243561060a565b3480156102a157600080fd5b506101aa600160a060020a03600435811690602435166106eb565b60035460ff1681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60015490565b6000600160a060020a03831615156103d657600080fd5b600160a060020a0384166000908152602081905260409020548211156103fb57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561042b57600080fd5b600160a060020a038416600090815260208190526040902054610454908363ffffffff61071616565b600160a060020a038086166000908152602081905260408082209390935590851681522054610489908363ffffffff61072816565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546104cb908363ffffffff61071616565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60075481565b60065460ff1681565b600160a060020a031660009081526020819052604090205490565b60035460009060ff161561057357600080fd5b6003805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561034b5780601f106103205761010080835404028352916020019161034b565b6000600160a060020a038316151561062157600080fd5b3360009081526020819052604090205482111561063d57600080fd5b3360009081526020819052604090205461065d908363ffffffff61071616565b3360009081526020819052604080822092909255600160a060020a0385168152205461068f908363ffffffff61072816565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561072257fe5b50900390565b8181018281101561073557fe5b929150505600a165627a7a72305820b1bc1c82658469b1f30a20ed77decfa0013b0a465e6b6b397abc2abfdd2188b10029

Deployed Bytecode Sourcemap

4575:318:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4109:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4109:35:0;;;;;;;;;;;;;;;;;;;;;;4620:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4620:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4620:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3514:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3514:192:0;-1:-1:-1;;;;;3514:192:0;;;;;;;2142:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2142:85:0;;;;;;;;;;;;;;;;;;;;2996:512;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2996:512:0;-1:-1:-1;;;;;2996:512:0;;;;;;;;;;;;4720:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4720:49:0;;;;4688:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4688:25:0;;;;;;;;;;;;;;;;;;;;;;;2566:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2566:101:0;-1:-1:-1;;;;;2566:101:0;;;;;4340:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4340:135:0;;;;4653:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4653:28:0;;;;2233:327;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2233:327:0;-1:-1:-1;;;;;2233:327:0;;;;;;;3712:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3712:162:0;-1:-1:-1;;;;;3712:162:0;;;;;;;;;;4109:35;;;;;;:::o;4620:26::-;;;;;;;;;;;;;;;-1:-1:-1;;4620:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3514:192::-;3602:10;3581:4;3594:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3594:29:0;;;;;;;;;;;:38;;;3644;;;;;;;3581:4;;3594:29;;3602:10;;3644:38;;;;;;;;-1:-1:-1;3696:4:0;3514:192;;;;:::o;2142:85::-;2209:12;;2142:85;:::o;2996:512::-;3108:4;-1:-1:-1;;;;;3159:17:0;;;;3151:26;;;;;;-1:-1:-1;;;;;3202:15:0;;:8;:15;;;;;;;;;;;3192:25;;;3184:34;;;;;;-1:-1:-1;;;;;3243:14:0;;;;;;:7;:14;;;;;;;;3258:10;3243:26;;;;;;;;3233:36;;;3225:45;;;;;;-1:-1:-1;;;;;3295:15:0;;:8;:15;;;;;;;;;;;:27;;3315:6;3295:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;3277:15:0;;;:8;:15;;;;;;;;;;;:45;;;;3345:13;;;;;;;:25;;3363:6;3345:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3329:13:0;;;:8;:13;;;;;;;;;;;:41;;;;3406:14;;;;;:7;:14;;;;;3421:10;3406:26;;;;;;;:38;;3437:6;3406:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;3377:14:0;;;;;;;:7;:14;;;;;;;;3392:10;3377:26;;;;;;;;:67;;;;3456:28;;;;;;;;;;;3377:14;;3456:28;;;;;;;;;;;-1:-1:-1;3498:4:0;2996:512;;;;;:::o;4720:49::-;;;;:::o;4688:25::-;;;;;;:::o;2566:101::-;-1:-1:-1;;;;;2645:16:0;2622:7;2645:16;;;;;;;;;;;;2566:101::o;4340:135::-;4188:15;;4390:4;;4188:15;;4187:16;4179:25;;;;;;4403:15;:22;;-1:-1:-1;;4403:22:0;4421:4;4403:22;;;4437:14;;;;4403:15;;4437:14;-1:-1:-1;4465:4:0;4340:135;:::o;4653:28::-;;;;;;;;;;;;;;;-1:-1:-1;;4653:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2233:327;2296:4;-1:-1:-1;;;;;2317:17:0;;;;2309:26;;;;;;2369:10;2360:8;:20;;;;;;;;;;;2350:30;;;2342:39;;;;;;2420:10;2411:8;:20;;;;;;;;;;;:32;;2436:6;2411:32;:24;:32;:::i;:::-;2397:10;2388:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;2466:13:0;;;;;;:25;;2484:6;2466:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;2450:13:0;;:8;:13;;;;;;;;;;;;:41;;;;2503:33;;;;;;;2450:13;;2512:10;;2503:33;;;;;;;;;;-1:-1:-1;2550:4:0;2233:327;;;;:::o;3712:162::-;-1:-1:-1;;;;;3843:15:0;;;3817:7;3843:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;3712:162::o;595:113::-;653:7;676:6;;;;669:14;;;;-1:-1:-1;697:5:0;;;595:113::o;775:127::-;855:5;;;874:6;;;;867:14;;;;775:127;;;;:::o

Swarm Source

bzzr://b1bc1c82658469b1f30a20ed77decfa0013b0a465e6b6b397abc2abfdd2188b1
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.