ETH Price: $1,835.23 (+1.69%)
Gas: 0.63 Gwei

Contract

0xbc98884105501Af56C89f25aDe316C1DB1e35Ba1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer63462732018-09-17 4:18:202388 days ago1537157900IN
0xbc988841...DB1e35Ba1
0 ETH0.000322558.5
Transfer63458742018-09-17 2:41:552388 days ago1537152115IN
0xbc988841...DB1e35Ba1
0 ETH0.000114745
Transfer53077852018-03-23 15:00:212565 days ago1521817221IN
0xbc988841...DB1e35Ba1
0 ETH0.000052941
Transfer52350802018-03-11 8:16:172577 days ago1520756177IN
0xbc988841...DB1e35Ba1
0 ETH0.000052941
Transfer52164292018-03-08 4:06:332581 days ago1520481993IN
0xbc988841...DB1e35Ba1
0 ETH0.0005824211
Transfer51869792018-03-03 4:20:242586 days ago1520050824IN
0xbc988841...DB1e35Ba1
0 ETH0.000423588
Transfer51811302018-03-02 4:36:232586 days ago1519965383IN
0xbc988841...DB1e35Ba1
0 ETH0.0010576820
Transfer51811112018-03-02 4:32:342587 days ago1519965154IN
0xbc988841...DB1e35Ba1
0 ETH0.001056420
Transfer51645482018-02-27 9:05:222589 days ago1519722322IN
0xbc988841...DB1e35Ba1
0 ETH0.000423078
Transfer51630032018-02-27 2:31:152590 days ago1519698675IN
0xbc988841...DB1e35Ba1
0 ETH0.0011092221
Transfer51628232018-02-27 1:49:472590 days ago1519696187IN
0xbc988841...DB1e35Ba1
0 ETH0.000303588
Transfer51586922018-02-26 8:54:172590 days ago1519635257IN
0xbc988841...DB1e35Ba1
0 ETH0.001111921
Transfer51536342018-02-25 12:02:382591 days ago1519560158IN
0xbc988841...DB1e35Ba1
0 ETH0.000423078
Transfer51457512018-02-24 4:00:432593 days ago1519444843IN
0xbc988841...DB1e35Ba1
0 ETH0.0005294810
Transfer51405322018-02-23 6:35:242593 days ago1519367724IN
0xbc988841...DB1e35Ba1
0 ETH0.0005294810
Transfer51400432018-02-23 4:35:262593 days ago1519360526IN
0xbc988841...DB1e35Ba1
0 ETH0.0008838223.25133516
Transfer51399832018-02-23 4:20:312594 days ago1519359631IN
0xbc988841...DB1e35Ba1
0 ETH0.000423588
Transfer51395242018-02-23 2:28:592594 days ago1519352939IN
0xbc988841...DB1e35Ba1
0 ETH0.0009000617.01960499
Transfer51395152018-02-23 2:27:132594 days ago1519352833IN
0xbc988841...DB1e35Ba1
0 ETH0.0006758317.83957094
Transfer51395112018-02-23 2:26:132594 days ago1519352773IN
0xbc988841...DB1e35Ba1
0 ETH0.0008854523.33333094
Transfer51394942018-02-23 2:22:352594 days ago1519352555IN
0xbc988841...DB1e35Ba1
0 ETH0.0012397923.41532672
Transfer51371182018-02-22 16:33:032594 days ago1519317183IN
0xbc988841...DB1e35Ba1
0 ETH0.000796921
Transfer51286962018-02-21 6:10:542595 days ago1519193454IN
0xbc988841...DB1e35Ba1
0 ETH0.000423078
Transfer51241752018-02-20 11:31:262596 days ago1519126286IN
0xbc988841...DB1e35Ba1
0 ETH0.000423078
Transfer51195722018-02-19 16:35:492597 days ago1519058149IN
0xbc988841...DB1e35Ba1
0 ETH0.0011635330.71301017
View all transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xc10A91ca...B23e20468
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenERC20

Compiler Version
v0.4.20-nightly.2018.1.17+commit.4715167e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-01-19
*/

pragma solidity ^0.4.16; 
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; } 
contract TokenERC20 { 
    // Public variables of the token
    string public name; 
    string public symbol;
    uint8 public decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it 
    uint256 public totalSupply; // This creates an array with all balances 
    mapping (address => uint256) public balanceOf; 
    mapping (address => mapping (address => uint256)) public allowance; 
    // This generates a public event on the blockchain that will notify clients 
    event Transfer(address indexed from, address indexed to, uint256 value);
    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value); 
    /** * Constrctor function * * Initializes contract with initial supply tokens to the creator of the contract */ 
    function TokenERC20( uint256 initialSupply, string tokenName, string tokenSymbol ) public
    { totalSupply = initialSupply * 10 ** uint256(decimals); 
    // Update total supply with the decimal amount
    balanceOf[msg.sender] = totalSupply; 
    // Give the creator all initial  tokens
    name = tokenName; 
    // Set the name for display     purposes 
    symbol = tokenSymbol; // Set the  symbol for display purposes 
    } 
    
    /** * Internal transfer, only can be called by this contract */ 
    function _transfer(address _from, address _to, uint _value) internal {
        // Prevent transfer to 0x0 address.         Use burn() instead 
        require(_to != 0x0);
        // Check if the sender has enough 
        require(balanceOf[_from] >= _value); 
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to]; 
        // Subtract from the sender 
        balanceOf[_from] -= _value; 
        // Add the same to the recipient 
        balanceOf[_to] += _value; Transfer(_from, _to, _value); 
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances); }
        /** * Transfer tokens * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ 
        function transfer(address _to, uint256 _value) public { _transfer(msg.sender, _to, _value); }
        /** * Transfer tokens from other address * * Send `_value` tokens to `_to` on behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= allowance[_from][msg.sender]);
        // Check allowance 
        allowance[_from][msg.sender] -= _value; 
        _transfer(_from, _to, _value); return true; }
        /** * Set allowance for other address * * Allows `_spender` to spend no more than `_value` tokens on your behalf * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ 
        function approve(address _spender, uint256 _value) public returns (bool success) { allowance[msg.sender][_spender] = _value; return true; }
        /** * Set allowance for other address and notify * * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it * * @param _spender The address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract */ 
        function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); return true; } } 
        /** * Destroy tokens * * Remove `_value` tokens from the system irreversibly * * @param _value the amount of money to burn */ 
        function burn(uint256 _value) public returns (bool success) { require(balanceOf[msg.sender] >= _value); 
        // Check if the sender has enough
        balanceOf[msg.sender] -= _value; 
        // Subtract from the sender
        totalSupply -= _value; 
        // Updates totalSupply 
        Burn(msg.sender, _value); return true; }
        /** * Destroy tokens from other account * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the sender * @param _value the amount of money to burn */ 
        function burnFrom(address _from, uint256 _value) public returns (bool success) { require(balanceOf[_from] >= _value);
        // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]); 
        // Check allowance 
        balanceOf[_from] -= _value;
        // Subtract from the targeted balance 
        allowance[_from][msg.sender] -= _value; 
        // Subtract from the sender's allowance 
        totalSupply -= _value;
        // Update totalSupply
        Burn(_from, _value); return true; } }

Contract Security Audit

Contract ABI

API
[{"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":"success","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

Deployed Bytecode

0x6060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461017e57806323b872dd146101a3578063313ce567146101cb57806342966c68146101f457806370a082311461020a57806379cc67901461022957806395d89b411461024b578063a9059cbb1461025e578063cae9ca5114610282578063dd62ed3e146102e7575b600080fd5b34156100c957600080fd5b6100d161030c565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010d5780820151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015357600080fd5b61016a600160a060020a03600435166024356103aa565b604051901515815260200160405180910390f35b341561018957600080fd5b6101916103da565b60405190815260200160405180910390f35b34156101ae57600080fd5b61016a600160a060020a03600435811690602435166044356103e0565b34156101d657600080fd5b6101de610457565b60405160ff909116815260200160405180910390f35b34156101ff57600080fd5b61016a600435610460565b341561021557600080fd5b610191600160a060020a03600435166104eb565b341561023457600080fd5b61016a600160a060020a03600435166024356104fd565b341561025657600080fd5b6100d16105d9565b341561026957600080fd5b610280600160a060020a0360043516602435610644565b005b341561028d57600080fd5b61016a60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061065395505050505050565b34156102f257600080fd5b610191600160a060020a0360043581169060243516610785565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a25780601f10610377576101008083540402835291602001916103a2565b820191906000526020600020905b81548152906001019060200180831161038557829003601f168201915b505050505081565b600160a060020a033381166000908152600560209081526040808320938616835292905220819055600192915050565b60035481565b600160a060020a0380841660009081526005602090815260408083203390941683529290529081205482111561041557600080fd5b600160a060020a038085166000908152600560209081526040808320339094168352929052208054839003905561044d8484846107a2565b5060019392505050565b60025460ff1681565b600160a060020a0333166000908152600460205260408120548290101561048657600080fd5b600160a060020a03331660008181526004602052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60046020526000908152604090205481565b600160a060020a0382166000908152600460205260408120548290101561052357600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561055657600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293905282902080548590039055600380548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a25780601f10610377576101008083540402835291602001916103a2565b61064f3383836107a2565b5050565b60008361066081856103aa565b1561077d5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151838201526020016106fe565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561076457600080fd5b6102c65a03f1151561077557600080fd5b505050600191505b509392505050565b600560209081526000928352604080842090915290825290205481565b6000600160a060020a03831615156107b957600080fd5b600160a060020a038416600090815260046020526040902054829010156107df57600080fd5b600160a060020a0383166000908152600460205260409020548281011161080557600080fd5b50600160a060020a0380831660008181526004602052604080822080549488168084528284208054888103909155938590528154870190915591909301927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600160a060020a038084166000908152600460205260408082205492871682529020540181146108a257fe5b505050505600a165627a7a7230582093548ab05ad7719610271327b685a9401d3c3afdc4b3a085d1b3663ad41b78b80029

Swarm Source

bzzr://93548ab05ad7719610271327b685a9401d3c3afdc4b3a085d1b3663ad41b78b8

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.