Sponsored Link: Datum ICO unlocks the $120 Bln User Data Economy. Data is the new Oil. Get Free Tokens worth .05 ETH
Contract Overview | GigaWattToken
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 2342 txns
Token Tracker 0x84119cb33e8f590d75c2d6ea4e6b0741a7494eda
  Latest 25 txns from a total Of 2342 transactions View All

TxHash Age From To Value [TxFee]
0xe4aee3db5546a0c4d86d0ab9a0f06d211cd5a1fe31e02d5ae8486dcbf56bdf5724 mins ago0x88bfe9b06cf22a31d6bf7b93de3a0760422cf17f  IN   GigaWattToken0 Ether0.0010236875
0x68977e0fb5f2365cc786416b2ac1099259c806529f2ef3b7f8bc7adf4960012028 mins ago0x2fa0913ba3494a871c3f573318cc814f74f5eb8c  IN   GigaWattToken0 Ether0.000133734
0x01fff6125aa288f48dfc6179948697fe1487a892664976e88d555a1eec4492f556 mins ago0xe33384c7e56500d51aec589f40104848c5103f22  IN   GigaWattToken0 Ether0.00037289
0xc81ac40ee6a2f9734db67b8aea9c2daf41a8df56e82e56f4fef9ab3a0b0954102 hrs ago0x50f8502df373a3278a6a30cfb9f62bab49758138  IN   GigaWattToken0 Ether0.000361648
0x4556d0d0d3ea75dbb804d789a0f82e537634a76d939e0f19f747db7806e175a82 hrs 8 mins ago0x77a2c2df4fe0759f0641e04dbdd25705e13f4c59  IN   GigaWattToken0 Ether0.00000334335
0xa87c4f12e1bc018de250f911a83e01e69aafcb1204687bd0533488e51cb5c4582 hrs 24 mins ago0x50f8502df373a3278a6a30cfb9f62bab49758138  IN   GigaWattToken0 Ether0.000361136
0x6b84010926fafa720a6bd4d1a4296363c6020aacd9b5a54f0ef47796dd8f16872 hrs 57 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.0010445
0x5a0e0865217417356b877527a532101dc4188caad93bfbd17c8d7cea33455d683 hrs 4 mins ago0x50f8502df373a3278a6a30cfb9f62bab49758138  IN   GigaWattToken0 Ether0.000361136
0x4dce019e469a05b2fc56ee8af558dc6a036bda07a05fe46f87211cb7187aa1954 hrs 3 mins ago0xa01c0451e89c25cb66ce5a128f0f5b0f8a8271c8  IN   GigaWattToken0 Ether0.00022225
0x8e90af34d9e3f4dfe3e7d46ed363ab7ef9ee87e5302233581bc83b634a47a1014 hrs 8 mins ago0x10601b2640ebaf8901a45475c5295920ed645a13  IN   GigaWattToken0 Ether0.00000334335
0x61c08df391b4daeb1c638f4e6719891b3c8225ff4e3b4bdbcd854f788e6464bf4 hrs 11 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.0007445
0x51f353612199a45adff9aa2a53c156e204a62ee659d5b70f5b598f86142be18a4 hrs 26 mins ago0xaa8530e6d0b20c76cdf1a73906b1d186e47e694a  IN   GigaWattToken0 Ether0.0002978
0xda2560757c3e76a93ef7065cbabcc238edeb004d3cdf09b815e26c91f87ffdf74 hrs 28 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.000149156
0xd1429a9c37e491c09358ce2ae9955ad29332097115a475dd046c2729db3bac154 hrs 29 mins ago0x5f06f5056c92c3a984ce5d38da27d1835f18d4a2  IN   GigaWattToken0 Ether0.000149156
0xe359f3a1e3f44b2dafcb04973a93afd890280ff99841eb3266ea83ff6641e9684 hrs 34 mins ago0x985b8fab55f87cfd0df12781093c3d12e54e3618  IN   GigaWattToken0 Ether0.000149156
0xf7fe3c11984e14c3b2bdc643955f9332a15d1808e77f34dd07e5b2f112c8e9fb4 hrs 37 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.00052225
0xd89a8d108c9b9a57be9ff509c54ff844eaedf8fa6de4fcae32a6afd5ee38434f4 hrs 48 mins ago0x10601b2640ebaf8901a45475c5295920ed645a13  IN   GigaWattToken0 Ether0.00022225
0x77654fd57c463f4c9a0851944dc4d6dcc0418a0630942b959ee1512c278e4b8f4 hrs 59 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.00052225
0x570b4339e23617fd05af1611df869cce135551f313f68a0b8dd0a98cfa3caa4d5 hrs 22 mins ago0x985b8fab55f87cfd0df12781093c3d12e54e3618  IN   GigaWattToken0 Ether0.0001489
0x20dd3f94c5eaa0f97dc4d12ef993dfcb98d474419926b1eb8414dfec7fa9efbe5 hrs 28 mins ago0x2fa0913ba3494a871c3f573318cc814f74f5eb8c  IN   GigaWattToken0 Ether0.00022225
0x4fa8e64753f56f061fa4b2c9b9fa6c4b98a629e088f71e0e184aff8feb7f78bf5 hrs 37 mins ago0xe33384c7e56500d51aec589f40104848c5103f22  IN   GigaWattToken0 Ether0.00045206
0xeb5974c40fb512d2f42d7ef9f84cda8a3bdb306892149eba2885a229514fc14c5 hrs 37 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.0010445
0x36bc007198e922444fbac77bda841bec98dd8a54670d7e7a132a6e8dfc7334255 hrs 54 mins ago0xe33384c7e56500d51aec589f40104848c5103f22  IN   GigaWattToken0 Ether0.00037225
0xa539132f5e9db0255b201bccbaeef4e7234e85ebdda7d586a5a29152a070a88e5 hrs 57 mins ago0x5c5735b4bd30de5965b7ea3153b4893cc61e9786  IN   GigaWattToken0 Ether0.000200025
0x45d541fa553fef46c6599dea2e1f42a646f737b7cd9b37674e68637581b858066 hrs 28 mins ago0x2fa0913ba3494a871c3f573318cc814f74f5eb8c  IN   GigaWattToken0 Ether0.000178312
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: GigaWattToken
Compiler Version: v0.4.6+commit.2dabbdf0
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
/*
 * Giga Watt Token Smart Contract.  Copyright © 2016 by ABDK Consulting.
 * Author: Mikhail Vladimirov <mikhail.vladimirov@gmail.com>
 */
pragma solidity ^0.4.1;

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
            owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
            message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender)
  constant returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (x > MAX_UINT256 - y) throw;
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (x < y) throw;
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    if (x > MAX_UINT256 / y) throw;
    return x * y;
  }
}

/**
 * Abstract base contract for contracts implementing Token interface.
 */
contract AbstractToken is Token, SafeMath {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply) {
    return tokensCount;
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
            owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    return doTransfer (msg.sender, _to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success)
  {
    if (_value > approved [_from][msg.sender]) return false;
    if (doTransfer (_from, _to, _value)) {
      approved [_from][msg.sender] =
        safeSub (approved[_from][msg.sender], _value);
      return true;
    } else return false;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
            message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success) {
    approved [msg.sender][_spender] = _value;
    Approval (msg.sender, _spender, _value);
    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender)
  constant returns (uint256 remaining) {
    return approved [_owner][_spender];
  }

  /**
   * Create given number of new tokens and give them to given owner.
   *
   * @param _owner address to given new created tokens to the owner of
   * @param _value number of new tokens to create
   */
  function createTokens (address _owner, uint256 _value) internal {
    if (_value > 0) {
      accounts [_owner] = safeAdd (accounts [_owner], _value);
      tokensCount = safeAdd (tokensCount, _value);
    }
  }

  /**
   * Perform token transfer.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to to the owner of
   * @param _value number of tokens to transfer
   * @return true if tokens were transferred successfully, false otherwise
   */
  function doTransfer (address _from, address _to, uint256 _value)
  private returns (bool success) {
    if (_value > accounts [_from]) return false;
    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (accounts [_from], _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
      Transfer (_from, _to, _value);
    }
    return true;
  }

  /**
   * Total number of tokens in circulation.
   */
  uint256 tokensCount;

  /**
   * Maps addresses of token owners to states of their accounts.
   */
  mapping (address => uint256) accounts;

  /**
   * Maps addresses of token owners to mappings from addresses of spenders to
   * how many tokens belonging to the owner, the spender is currently allowed to
   * transfer.
   */
  mapping (address => mapping (address => uint256)) approved;
}

/**
 * Standard Token smart contract that provides the following features:
 * <ol>
 *   <li>Centralized creation of new tokens</li> 
 *   <li>Freeze/unfreeze token transfers</li>
 *   <li>Change owner</li>
 * </ol>
 */
contract StandardToken is AbstractToken {
  /**
   * Maximum allowed tokens in circulation (2^64 - 1).
   */
  uint256 constant private MAX_TOKENS = 0xFFFFFFFFFFFFFFFF;

  /**
   * Address of the owner of the contract.
   */
  address owner;

  /**
   * Whether transfers are currently frozen.
   */
  bool frozen;

  /**
   * Instantiate the contract and make the message sender to be the owner.
   */
  function StandardToken () {
    owner = msg.sender;
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value)
  returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transfer (_to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transferFrom (_from, _to, _value);
  }

  /**
   * Create certain number of new tokens and give them to the owner of the
   * contract.
   * 
   * @param _value number of new tokens to create
   * @return true if tokens were created successfully, false otherwise
   */
  function createTokens (uint256 _value)
  returns (bool success) {
    if (msg.sender != owner) throw;

    if (_value > MAX_TOKENS - totalSupply ()) return false;

    AbstractToken.createTokens (owner, _value);

    return true;
  }

  /**
   * Freeze token transfers.
   */
  function freezeTransfers () {
    if (msg.sender != owner) throw;

    if (!frozen)
    {
      frozen = true;
      Freeze ();
    }
  }

  /**
   * Unfreeze token transfers.
   */
  function unfreezeTransfers () {
    if (msg.sender != owner) throw;

    if (frozen) {
      frozen = false;
      Unfreeze ();
    }
  }

  /**
   * Set new owner address.
   *
   * @param _newOwner new owner address
   */
  function setOwner (address _newOwner) {
    if (msg.sender != owner) throw;

    owner = _newOwner;
  }

  /**
   * Logged when token transfers were freezed.
   */
  event Freeze ();

  /**
   * Logged when token transfers were unfreezed.
   */
  event Unfreeze ();
}

/**
 * Giga Watt Token Smart Contract.
 */
contract GigaWattToken is StandardToken {
  /**
   * Constructor just calls constructor of parent contract.
   */
  function GigaWattToken () StandardToken () {
    // Do nothing
  }
}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"freezeTransfers","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unfreezeTransfers","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"createTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Unfreeze","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"},{"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"}]

  Contract Creation Code Switch To Opcodes View
606060405234610000575b5b60038054600160a060020a0319166c01000000000000000000000000338102041790555b5b5b6106f58061003f6000396000f3606060405236156100825760e060020a6000350463015024608114610087578063095ea7b31461009657806313af4035146100bd57806318160ddd146100cf57806323b872dd146100ee57806331c420d41461011857806370a08231146101275780637e1f2bb814610149578063a9059cbb1461016d578063dd62ed3e14610194575b610000565b34610000576100946101b9565b005b34610000576100a9600435602435610238565b604080519115158252519081900360200190f35b34610000576100946004356102a3565b005b34610000576100dc6102f2565b60408051918252519081900360200190f35b34610000576100a96004356024356044356102f9565b604080519115158252519081900360200190f35b3461000057610094610330565b005b34610000576100dc6004356103a8565b60408051918252519081900360200190f35b34610000576100a96004356103c7565b604080519115158252519081900360200190f35b34610000576100a9600435602435610425565b604080519115158252519081900360200190f35b34610000576100dc60043560243561045e565b60408051918252519081900360200190f35b60035433600160a060020a039081169116146101d457610000565b60035460a060020a900460ff161515610235576003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de90600090a15b5b565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035433600160a060020a039081169116146102be57610000565b6003805473ffffffffffffffffffffffffffffffffffffffff19166c01000000000000000000000000838102041790555b50565b6000545b90565b60035460009060a060020a900460ff161561031a5750600061032856610328565b61032584848461048b565b90505b5b9392505050565b60035433600160a060020a0390811691161461034b57610000565b60035460a060020a900460ff1615610235576003805474ff0000000000000000000000000000000000000000191690556040517f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded90600090a15b5b565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146103e557610000565b6103ed6102f2565b67ffffffffffffffff03821115610406575060006103c2565b60035461041c90600160a060020a031683610547565b5060015b919050565b60035460009060a060020a900460ff16156104465750600061029d5661029d565b61045083836105a3565b905061029d565b5b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a038084166000908152600260209081526040808320339094168352929052908120548211156104c357506000610328565b6104ce8484846105b9565b1561053757600160a060020a038085166000908152600260209081526040808320339094168352929052205461050490836106bd565b600160a060020a038086166000908152600260209081526040808320339094168352929052205550600161032856610328565b506000610328565b5b9392505050565b600081111561059e57600160a060020a03821660009081526001602052604090205461057390826106d7565b600160a060020a0383166000908152600160205260408120919091555461059a90826106d7565b6000555b5b5050565b60006105b03384846105b9565b90505b92915050565b600160a060020a0383166000908152600160205260408120548211156105e157506000610328565b600082118015610603575082600160a060020a031684600160a060020a031614155b156106b257600160a060020a03841660009081526001602052604090205461062b90836106bd565b600160a060020a03808616600090815260016020526040808220939093559085168152205461065a90836106d7565b600160a060020a0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5060015b9392505050565b6000818310156106cc57610000565b508082035b92915050565b600081600019038311156106ea57610000565b508181015b9291505056
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.