ETH Price: $2,353.69 (-0.21%)
Gas: 36 Gwei

Contract

0xa0872eE815B8dd0F6937386Fd77134720d953581
 

Multi Chain

Multichain Addresses

0 address found via
Transaction Hash
Method
Block
From
To
Value
Transfer180744432023-09-06 2:28:5995 days 17 hrs ago1693967339IN
0xa0872e...0d953581
0 ETH0.0005442111.4205439
Transfer179319432023-08-17 3:45:35115 days 16 hrs ago1692243935IN
0xa0872e...0d953581
0 ETH0.0009548120.03729133
Approve169438432023-03-31 1:13:23254 days 18 hrs ago1680225203IN
0xa0872e...0d953581
0 ETH0.0006594822.74167972
Transfer From169438372023-03-31 1:12:11254 days 18 hrs ago1680225131IN
0xa0872e...0d953581
0 ETH0.0010217425.03230131
Approve169437862023-03-31 1:01:59254 days 18 hrs ago1680224519IN
0xa0872e...0d953581
0 ETH0.0011356524.67367483
Transfer From169437732023-03-31 0:59:23254 days 18 hrs ago1680224363IN
0xa0872e...0d953581
0 ETH0.001706222.77332441
Transfer129451652021-08-02 9:28:35860 days 10 hrs ago1627896515IN
0xa0872e...0d953581
0 ETH0.0007115819.00000112
Transfer128261442021-07-14 16:16:17879 days 3 hrs ago1626279377IN
0xa0872e...0d953581
0 ETH0.0018029551.00000145
Transfer124494582021-05-17 3:16:11937 days 16 hrs ago1621221371IN
0xa0872e...0d953581
0 ETH0.0036200169.00000145
Transfer124310492021-05-14 7:06:44940 days 12 hrs ago1620976004IN
0xa0872e...0d953581
0 ETH0.00419731112.00000145
Transfer123536732021-05-02 8:21:40952 days 11 hrs ago1619943700IN
0xa0872e...0d953581
0 ETH0.0008991324.00000145
Transfer123527912021-05-02 5:03:08952 days 14 hrs ago1619931788IN
0xa0872e...0d953581
0 ETH0.0020980840
Transfer123479992021-05-01 11:25:47953 days 8 hrs ago1619868347IN
0xa0872e...0d953581
0 ETH0.0010493228.00000145
Transfer122967272021-04-23 13:39:32961 days 6 hrs ago1619185172IN
0xa0872e...0d953581
0 ETH0.0033728490.00000112
Transfer122941312021-04-23 3:46:42961 days 16 hrs ago1619149602IN
0xa0872e...0d953581
0 ETH0.00554467148.00000112
Transfer121841102021-04-06 4:58:29978 days 14 hrs ago1617685109IN
0xa0872e...0d953581
0 ETH0.00560186101.00000145
Transfer121642492021-04-03 3:41:55981 days 16 hrs ago1617421315IN
0xa0872e...0d953581
0 ETH0.0026495104.00000112
Transfer121189572021-03-27 4:16:39988 days 15 hrs ago1616818599IN
0xa0872e...0d953581
0 ETH0.0033989784.00000112
Transfer120979852021-03-23 23:04:28991 days 20 hrs ago1616540668IN
0xa0872e...0d953581
0 ETH0.00513892127.00000145
Transfer120816692021-03-21 10:42:08994 days 9 hrs ago1616323328IN
0xa0872e...0d953581
0 ETH0.0035203687.00000112
Transfer119856302021-03-06 15:13:001009 days 4 hrs ago1615043580IN
0xa0872e...0d953581
0 ETH0.0028729471.00000145
Transfer119374252021-02-27 5:19:231016 days 14 hrs ago1614403163IN
0xa0872e...0d953581
0 ETH0.0033180482.00000145
Transfer119040992021-02-22 2:18:521021 days 17 hrs ago1613960332IN
0xa0872e...0d953581
0 ETH0.0050472291.00000112
Transfer118931542021-02-20 9:53:281023 days 10 hrs ago1613814808IN
0xa0872e...0d953581
0 ETH0.00716212177.00000145
Transfer118319592021-02-11 0:08:001032 days 19 hrs ago1613002080IN
0xa0872e...0d953581
0 ETH0.00748764135.00000145
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EduCoin

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.18;


interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract Token {

    /// total amount of tokens
    uint256 public totalSupply;

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant public returns (uint256 balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) public returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

    /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) public returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) constant public returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/*
You should inherit from StandardToken or, for a token like you would want to
deploy in something like Mist, see HumanStandardToken.sol.
(This implements ONLY the standard functions and NOTHING else.
If you deploy this, you won't have anything useful.)

Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20
.*/

contract StandardToken is Token {

    function transfer(address _to, uint256 _value) public returns (bool success) {
        // Prevent transfer to 0x0 address.
        require(_to != 0x0);
        // Check if the sender has enough
        require(balances[msg.sender] >= _value);
        // Check for overflows
        require(balances[_to] + _value > balances[_to]);

        uint previousBalances = balances[msg.sender] + balances[_to];
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balances[msg.sender] + balances[_to] == previousBalances);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        /// same as above
        require(_to != 0x0);
        require(balances[_from] >= _value);
        require(balances[_to] + _value > balances[_to]);

        uint previousBalances = balances[_from] + balances[_to];
        balances[_from] -= _value;
        balances[_to] += _value;
        allowed[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        assert(balances[_from] + balances[_to] == previousBalances);

        return true;
    }

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

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

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

    mapping (address => uint256) balances; /// balance amount of tokens for address
    mapping (address => mapping (address => uint256)) allowed;
}

contract EduCoin is StandardToken {

    function () payable public {
        //if ether is sent to this address, send it back.
        //throw;
        require(false);
    }

    string public constant name = "EduCoinToken";   
    string public constant symbol = "EDU";
    uint256 private constant _INITIAL_SUPPLY = 15*10**27;
    uint8 public decimals = 18;         
    uint256 public totalSupply;            
    //string public version = 'H0.1';

    function EduCoin(
    ) public {
        // init
        balances[msg.sender] = _INITIAL_SUPPLY;
        totalSupply = _INITIAL_SUPPLY;
       
    }

    /* Approves and then calls the receiving 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;
        }
    }
}

Contract Security Audit

Contract ABI

[{"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":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","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":"success","type":"bool"}],"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":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"}]

60606040526003805460ff19166012179055341561001c57600080fd5b600160a060020a03331660009081526001602052604090206b3077b58d5d3783919800000090819055600455610779806100576000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b31461013257806318160ddd1461016857806323b872dd1461018d578063313ce567146101b557806370a08231146101de57806395d89b41146101fd578063a9059cbb14610210578063cae9ca5114610232578063dd62ed3e14610297575b600080fd5b34156100b357600080fd5b6100bb6102bc565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b610154600160a060020a03600435166024356102f3565b604051901515815260200160405180910390f35b341561017357600080fd5b61017b61035f565b60405190815260200160405180910390f35b341561019857600080fd5b610154600160a060020a0360043581169060243516604435610365565b34156101c057600080fd5b6101c861048c565b60405160ff909116815260200160405180910390f35b34156101e957600080fd5b61017b600160a060020a0360043516610495565b341561020857600080fd5b6100bb6104b0565b341561021b57600080fd5b610154600160a060020a03600435166024356104e7565b341561023d57600080fd5b61015460048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506105f495505050505050565b34156102a257600080fd5b61017b600160a060020a0360043581169060243516610722565b60408051908101604052600c81527f456475436f696e546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60045481565b600080600160a060020a038416151561037d57600080fd5b600160a060020a038516600090815260016020526040902054839010156103a357600080fd5b600160a060020a038416600090815260016020526040902054838101116103c957600080fd5b50600160a060020a03838116600081815260016020908152604080832080548a871680865283862080548b810390915583548b0190935560028552838620339098168652969093529281902080548890039055910192907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600160a060020a0380851660009081526001602052604080822054928816825290205401811461047f57fe5b600191505b509392505050565b60035460ff1681565b600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f4544550000000000000000000000000000000000000000000000000000000000602082015281565b600080600160a060020a03841615156104ff57600080fd5b600160a060020a0333166000908152600160205260409020548390101561052557600080fd5b600160a060020a0384166000908152600160205260409020548381011161054b57600080fd5b50600160a060020a038084166000818152600160205260408082208054339095168084528284208054898103909155938590528154880190915591909301927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600160a060020a03808516600090815260016020526040808220543390931682529020540181146105ea57fe5b5060019392505050565b60008361060181856102f3565b156104845780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b757808201518382015260200161069f565b50505050905090810190601f1680156106e45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561070557600080fd5b6102c65a03f1151561071657600080fd5b50505060019150610484565b600160a060020a039182166000908152600260209081526040808320939094168252919091522054905600a165627a7a72305820ebb906a6b3ed684a7a4c6cd108f975c133440a17c2a95b05a1e4a6389c8af0940029

Deployed Bytecode

0x6060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a8578063095ea7b31461013257806318160ddd1461016857806323b872dd1461018d578063313ce567146101b557806370a08231146101de57806395d89b41146101fd578063a9059cbb14610210578063cae9ca5114610232578063dd62ed3e14610297575b600080fd5b34156100b357600080fd5b6100bb6102bc565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b610154600160a060020a03600435166024356102f3565b604051901515815260200160405180910390f35b341561017357600080fd5b61017b61035f565b60405190815260200160405180910390f35b341561019857600080fd5b610154600160a060020a0360043581169060243516604435610365565b34156101c057600080fd5b6101c861048c565b60405160ff909116815260200160405180910390f35b34156101e957600080fd5b61017b600160a060020a0360043516610495565b341561020857600080fd5b6100bb6104b0565b341561021b57600080fd5b610154600160a060020a03600435166024356104e7565b341561023d57600080fd5b61015460048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506105f495505050505050565b34156102a257600080fd5b61017b600160a060020a0360043581169060243516610722565b60408051908101604052600c81527f456475436f696e546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60045481565b600080600160a060020a038416151561037d57600080fd5b600160a060020a038516600090815260016020526040902054839010156103a357600080fd5b600160a060020a038416600090815260016020526040902054838101116103c957600080fd5b50600160a060020a03838116600081815260016020908152604080832080548a871680865283862080548b810390915583548b0190935560028552838620339098168652969093529281902080548890039055910192907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600160a060020a0380851660009081526001602052604080822054928816825290205401811461047f57fe5b600191505b509392505050565b60035460ff1681565b600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f4544550000000000000000000000000000000000000000000000000000000000602082015281565b600080600160a060020a03841615156104ff57600080fd5b600160a060020a0333166000908152600160205260409020548390101561052557600080fd5b600160a060020a0384166000908152600160205260409020548381011161054b57600080fd5b50600160a060020a038084166000818152600160205260408082208054339095168084528284208054898103909155938590528154880190915591909301927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600160a060020a03808516600090815260016020526040808220543390931682529020540181146105ea57fe5b5060019392505050565b60008361060181856102f3565b156104845780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b757808201518382015260200161069f565b50505050905090810190601f1680156106e45780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561070557600080fd5b6102c65a03f1151561071657600080fd5b50505060019150610484565b600160a060020a039182166000908152600260209081526040808320939094168252919091522054905600a165627a7a72305820ebb906a6b3ed684a7a4c6cd108f975c133440a17c2a95b05a1e4a6389c8af0940029

Swarm Source

bzzr://ebb906a6b3ed684a7a4c6cd108f975c133440a17c2a95b05a1e4a6389c8af094

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.