ETH Price: $2,056.28 (+10.21%)
 

Overview

Max Total Supply

291,939.9205771679197 DGT

Holders

41 (0.00%)

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Dogetoken is a token honoring Dogecoin, the fun and friendly internet currency. Dogetoken is not Dogecoin.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Dogetoken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-07-16
*/

pragma solidity ^0.4.10;

/*
This is the API that defines an ERC 20 token, all of these functions must
be implemented.
*/

contract ForeignToken {
    function balanceOf(address _owner) constant returns (uint256);
    function transfer(address _to, uint256 _value) returns (bool);
}

contract Dogetoken {

    // This is the user who is creating the contract, and owns the contract.
    address owner = msg.sender;

    // This is a flag of whether purchasing has been enabled.
    bool public purchasingAllowed = false;

    // This is a mapping of address balances.
    mapping (address => uint256) balances;


    mapping (address => mapping (address => uint256)) allowed;

    // Counter for total contributions of ether.
    uint256 public totalContribution = 0;

    // Counter for total bonus tokens issued
    uint256 public totalBonusTokensIssued = 0;

    // Total supply of....
    uint256 public totalSupply = 0;

    // Name of the Token
    function name() constant returns (string) { return "Dogetoken"; }
    function symbol() constant returns (string) { return "DGT"; }
    function decimals() constant returns (uint8) { return 18; }

    // Return the balance of a specific address.
    function balanceOf(address _owner) constant returns (uint256) { return balances[_owner]; }

    /**
     * Transfer value number of tokens to address _to.
     * address _to           The address you are sending tokens to.
     * uint256 _value        The number of tokens you are sending.
     * Return whether the transaction was successful.
     */
    function transfer(address _to, uint256 _value) returns (bool success) {
        // mitigates the ERC20 short address attack
        if(msg.data.length < (2 * 32) + 4) { throw; }

        if (_value == 0) { return false; }

        // Get the balance that the sender has.
        uint256 fromBalance = balances[msg.sender];

        // Ensure the sender has enough tokens to send.
        bool sufficientFunds = fromBalance >= _value;

        // Ensure we have not overflowed the value variable. If overflowed
        // is true the transaction will fail.
        bool overflowed = balances[_to] + _value < balances[_to];

        if (sufficientFunds && !overflowed) {
            // Deducat balance from sender
            balances[msg.sender] -= _value;

            // Add balance to recipient
            balances[_to] += _value;

            // Emit a transfer event.
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        // mitigates the ERC20 short address attack
        if(msg.data.length < (3 * 32) + 4) { throw; }

        if (_value == 0) { return false; }

        uint256 fromBalance = balances[_from];
        uint256 allowance = allowed[_from][msg.sender];

        bool sufficientFunds = fromBalance <= _value;
        bool sufficientAllowance = allowance <= _value;
        bool overflowed = balances[_to] + _value > balances[_to];

        if (sufficientFunds && sufficientAllowance && !overflowed) {
            balances[_to] += _value;
            balances[_from] -= _value;

            allowed[_from][msg.sender] -= _value;

            Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        // mitigates the ERC20 spend/approval race condition
        if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; }

        allowed[msg.sender][_spender] = _value;

        Approval(msg.sender, _spender, _value);
        return true;
    }

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

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

    function enablePurchasing() {
        if (msg.sender != owner) { throw; }

        purchasingAllowed = true;
    }

    function disablePurchasing() {
        if (msg.sender != owner) { throw; }

        purchasingAllowed = false;
    }

    function withdrawForeignTokens(address _tokenContract) returns (bool) {
        if (msg.sender != owner) { throw; }

        ForeignToken token = ForeignToken(_tokenContract);

        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }

    // Return informational variables about the token and contract.
    function getStats() constant returns (uint256, uint256, uint256, bool) {
        return (totalContribution, totalSupply, totalBonusTokensIssued, purchasingAllowed);
    }

    // This function is called whenever someone sends ether to this contract.
    function() payable {
        // If purchasing is not allowed throw an error.
        if (!purchasingAllowed) { throw; }

        // If 0 is sent throw an error
        if (msg.value == 0) { return; }

        // Transfer the ether to the owner of the contract.
        owner.transfer(msg.value);

        // Token per ether rate
        uint256 CONVERSION_RATE = 100000;

        // Set how many tokens the user gets
        uint256 tokensIssued = (msg.value * CONVERSION_RATE);

        uint256 bonusTokensIssued = 0;

        // The bonus is only valid up to a certain amount of ether
        if(totalContribution < 500 ether) {
            // Bonus logic
            if (msg.value >= 100 finney && msg.value < 1 ether) {
                // 5% bonus for 0.1 to 1 ether
                bonusTokensIssued = msg.value * CONVERSION_RATE / 20;
            } else if (msg.value >= 1 ether && msg.value < 2 ether) {
                // 10% bonus for 1 to 2 ether
                bonusTokensIssued = msg.value * CONVERSION_RATE / 10;
            } else if (msg.value >= 2 ether) {
                // 20% bonus for 2+ ether
                bonusTokensIssued = msg.value * CONVERSION_RATE / 5;
            }
        }

        // Add token bonus tokens to the global counter
        totalBonusTokensIssued += bonusTokensIssued;

        // Add bonus tokens to the user
        tokensIssued += bonusTokensIssued;

        totalSupply += tokensIssued;
        balances[msg.sender] += tokensIssued;

        // Updated the tracker for total ether contributed.
        totalContribution += msg.value;

        // `this` refers to the contract address. Emit the event that the contract
        // sent tokens to the sender.
        Transfer(address(this), msg.sender, tokensIssued);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"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":true,"inputs":[],"name":"totalContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"disablePurchasing","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"enablePurchasing","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalBonusTokensIssued","outputs":[{"name":"","type":"uint256"}],"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":"getStats","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"purchasingAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"payable":true,"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"}]

606060405260008054600160a060020a03191633600160a060020a03161760a060020a60ff021916815560038190556004819055600555341561003e57fe5b5b610b938061004e6000396000f300606060405236156100e35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610265578063095ea7b3146102f55780630dcf4b8f1461032857806318160ddd1461034a57806323b872dd1461036c578063313ce567146103a557806364acdb77146103cb57806370a08231146103dd5780638f5809961461040b57806395d89b411461041d57806398b01fe3146104ad578063a9059cbb146104cf578063c59d484714610502578063da040c0f1461053a578063dd62ed3e1461055e578063e58fc54c14610592575b6102635b600080548190819060a060020a900460ff1615156101055760006000fd5b3415156101115761025e565b60008054604051600160a060020a03909116913480156108fc02929091818181858888f19350505050151561014257fe5b620186a09250823402915060009050681b1ae4d6e2ef50000060035410156101e55767016345785d8a000034101580156101835750670de0b6b3a764000034105b156101965760143484025b0490506101e5565b670de0b6b3a764000034101580156101b55750671bc16d674ec8000034105b156101cc57600a34840261018e565b0490506101e5565b671bc16d674ec8000034106101e55760053484025b0490505b5b5b5b6004805482019055600580549282019283019055600160a060020a0333811660008181526001602090815260409182902080548701905560038054340190558151868152915192933016927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b505050565b005b341561026d57fe5b6102756105c2565b6040805160208082528351818301528351919283929083019185019080838382156102bb575b8051825260208311156102bb57601f19909201916020918201910161029b565b505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102fd57fe5b610314600160a060020a0360043516602435610603565b604080519115158252519081900360200190f35b341561033057fe5b6103386106ac565b60408051918252519081900360200190f35b341561035257fe5b6103386106b2565b60408051918252519081900360200190f35b341561037457fe5b610314600160a060020a03600435811690602435166044356106b8565b604080519115158252519081900360200190f35b34156103ad57fe5b6103b56107e8565b6040805160ff9092168252519081900360200190f35b34156103d357fe5b6102636107ee565b005b34156103e557fe5b610338600160a060020a036004351661082b565b60408051918252519081900360200190f35b341561041357fe5b61026361084a565b005b341561042557fe5b61027561088d565b6040805160208082528351818301528351919283929083019185019080838382156102bb575b8051825260208311156102bb57601f19909201916020918201910161029b565b505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b557fe5b6103386108ce565b60408051918252519081900360200190f35b34156104d757fe5b610314600160a060020a03600435166024356108d4565b604080519115158252519081900360200190f35b341561050a57fe5b6105126109b7565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b341561054257fe5b6103146109d4565b604080519115158252519081900360200190f35b341561056657fe5b610338600160a060020a03600435811690602435166109e4565b60408051918252519081900360200190f35b341561059a57fe5b610314600160a060020a0360043516610a11565b604080519115158252519081900360200190f35b6105ca610b55565b5060408051808201909152600981527f446f6765746f6b656e000000000000000000000000000000000000000000000060208201525b90565b600081158015906106385750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b15610645575060006106a6565b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60035481565b60055481565b6000808080808060643610156106ce5760006000fd5b8615156106de57600095506107db565b50505050600160a060020a03858116600090815260016020818152604080842054600283528185203387168652835281852054958a168552929091529091205490925084831180159186841115918782019190911190839061073d5750815b8015610747575080155b156107d657600160a060020a03808916600081815260016020908152604080832080548d0190558d851680845281842080548e90039055600283528184203390961684529482529182902080548c9003905581518b815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600195506107db565b600095505b5b50505050509392505050565b60125b90565b60005433600160a060020a0390811691161461080a5760006000fd5b6000805474ff0000000000000000000000000000000000000000191690555b565b600160a060020a0381166000908152600160205260409020545b919050565b60005433600160a060020a039081169116146108665760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b565b610895610b55565b5060408051808201909152600381527f444754000000000000000000000000000000000000000000000000000000000060208201525b90565b60045481565b600080808060443610156108e85760006000fd5b8415156108f857600093506109ad565b505050600160a060020a0333811660009081526001602052604080822054928616825290205483821080159180860110908290610933575080155b156109a857600160a060020a03338116600081815260016020908152604080832080548b90039055938a168083529184902080548a0190558351898152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3600193506109ad565b600093505b5b50505092915050565b60035460055460045460005460a060020a900460ff165b90919293565b60005460a060020a900460ff1681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600080548190819033600160a060020a03908116911614610a325760006000fd5b83915081600160a060020a03166370a08231306000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1515610aae57fe5b6102c65a03f11515610abc57fe5b505060408051805160008054602093840182905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905294519296508716945063a9059cbb936044808201949392918390030190829087803b1515610b3657fe5b6102c65a03f11515610b4457fe5b5050604051519350505b5050919050565b604080516020810190915260008152905600a165627a7a723058202a1ee6971afa827d4caffd79d3416042425dd10a9d779431b4287c05e745aefe0029

Deployed Bytecode

0x606060405236156100e35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610265578063095ea7b3146102f55780630dcf4b8f1461032857806318160ddd1461034a57806323b872dd1461036c578063313ce567146103a557806364acdb77146103cb57806370a08231146103dd5780638f5809961461040b57806395d89b411461041d57806398b01fe3146104ad578063a9059cbb146104cf578063c59d484714610502578063da040c0f1461053a578063dd62ed3e1461055e578063e58fc54c14610592575b6102635b600080548190819060a060020a900460ff1615156101055760006000fd5b3415156101115761025e565b60008054604051600160a060020a03909116913480156108fc02929091818181858888f19350505050151561014257fe5b620186a09250823402915060009050681b1ae4d6e2ef50000060035410156101e55767016345785d8a000034101580156101835750670de0b6b3a764000034105b156101965760143484025b0490506101e5565b670de0b6b3a764000034101580156101b55750671bc16d674ec8000034105b156101cc57600a34840261018e565b0490506101e5565b671bc16d674ec8000034106101e55760053484025b0490505b5b5b5b6004805482019055600580549282019283019055600160a060020a0333811660008181526001602090815260409182902080548701905560038054340190558151868152915192933016927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b505050565b005b341561026d57fe5b6102756105c2565b6040805160208082528351818301528351919283929083019185019080838382156102bb575b8051825260208311156102bb57601f19909201916020918201910161029b565b505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102fd57fe5b610314600160a060020a0360043516602435610603565b604080519115158252519081900360200190f35b341561033057fe5b6103386106ac565b60408051918252519081900360200190f35b341561035257fe5b6103386106b2565b60408051918252519081900360200190f35b341561037457fe5b610314600160a060020a03600435811690602435166044356106b8565b604080519115158252519081900360200190f35b34156103ad57fe5b6103b56107e8565b6040805160ff9092168252519081900360200190f35b34156103d357fe5b6102636107ee565b005b34156103e557fe5b610338600160a060020a036004351661082b565b60408051918252519081900360200190f35b341561041357fe5b61026361084a565b005b341561042557fe5b61027561088d565b6040805160208082528351818301528351919283929083019185019080838382156102bb575b8051825260208311156102bb57601f19909201916020918201910161029b565b505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b557fe5b6103386108ce565b60408051918252519081900360200190f35b34156104d757fe5b610314600160a060020a03600435166024356108d4565b604080519115158252519081900360200190f35b341561050a57fe5b6105126109b7565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b341561054257fe5b6103146109d4565b604080519115158252519081900360200190f35b341561056657fe5b610338600160a060020a03600435811690602435166109e4565b60408051918252519081900360200190f35b341561059a57fe5b610314600160a060020a0360043516610a11565b604080519115158252519081900360200190f35b6105ca610b55565b5060408051808201909152600981527f446f6765746f6b656e000000000000000000000000000000000000000000000060208201525b90565b600081158015906106385750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b15610645575060006106a6565b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60035481565b60055481565b6000808080808060643610156106ce5760006000fd5b8615156106de57600095506107db565b50505050600160a060020a03858116600090815260016020818152604080842054600283528185203387168652835281852054958a168552929091529091205490925084831180159186841115918782019190911190839061073d5750815b8015610747575080155b156107d657600160a060020a03808916600081815260016020908152604080832080548d0190558d851680845281842080548e90039055600283528184203390961684529482529182902080548c9003905581518b815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600195506107db565b600095505b5b50505050509392505050565b60125b90565b60005433600160a060020a0390811691161461080a5760006000fd5b6000805474ff0000000000000000000000000000000000000000191690555b565b600160a060020a0381166000908152600160205260409020545b919050565b60005433600160a060020a039081169116146108665760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790555b565b610895610b55565b5060408051808201909152600381527f444754000000000000000000000000000000000000000000000000000000000060208201525b90565b60045481565b600080808060443610156108e85760006000fd5b8415156108f857600093506109ad565b505050600160a060020a0333811660009081526001602052604080822054928616825290205483821080159180860110908290610933575080155b156109a857600160a060020a03338116600081815260016020908152604080832080548b90039055938a168083529184902080548a0190558351898152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3600193506109ad565b600093505b5b50505092915050565b60035460055460045460005460a060020a900460ff165b90919293565b60005460a060020a900460ff1681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600080548190819033600160a060020a03908116911614610a325760006000fd5b83915081600160a060020a03166370a08231306000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1515610aae57fe5b6102c65a03f11515610abc57fe5b505060408051805160008054602093840182905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905294519296508716945063a9059cbb936044808201949392918390030190829087803b1515610b3657fe5b6102c65a03f11515610b4457fe5b5050604051519350505b5050919050565b604080516020810190915260008152905600a165627a7a723058202a1ee6971afa827d4caffd79d3416042425dd10a9d779431b4287c05e745aefe0029

Swarm Source

bzzr://2a1ee6971afa827d4caffd79d3416042425dd10a9d779431b4287c05e745aefe
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.