Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview | EtherID
ETH Balance: 0.11063 Ether
ETH USD Value: $40.27 (@ $364.02/ETH)
No Of Transactions: 35627 txns
  Latest 25 txns from a total Of 35627 transactions View All

TxHash Age From To Value [TxFee]
0x0b3b948dc66e9d692605461efc75b707a29cac25348318804d1e1e16c3bb473b16 days 17 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.00212618
0xcd2944ade784924621fa8dd97dfe90be2650e9c3171fa936bc5750eda164192426 days 43 mins ago0x999b0f6058c33c7bfbe7cfa59c146320be27976b  IN   EtherID0.01 Ether0.00042938
0x503f64726c92a23edc6f87078b1b5644c395c0a8cdf0449a6f2c45412ef569e548 days 13 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.000402623
0x4d60aa700bbda116f4d97ad3f0ddc9af565304292d18432e7f6cced697135a9648 days 13 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.000596791
0x451cdb60adf094201beab848b6fa4ffb90c072bc49ad1e456c05a6ccf9420c1c48 days 13 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.000402623
0x40c1775cbc2f5968e55cec5a61a74e4734c914fbfcc907ccd90964234f60824c48 days 13 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.000595959
0x945c0d46143ec1bcf870497b745abd2c72ec095b5379f364afaafb1f130a6e4471 days 14 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002326794888
0x80eff1c30fa2b93da25956072ae81dc622354c293f3fe7a4782ec8a3ff80c34f71 days 14 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002322602661
0x4678b650797b3d2bc8beca0525e3580d08f9e5cc63bf6d5904fbe9933cc1b99d71 days 14 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002321205252
0xb3e038670d078542552b1c495201cdfa779974a9e2c7ef3603161e17bba8d28a84 days 15 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002231145
0x67afe196ade5dca2bd8b2c85a06b84640dae277a98fbd2e565f823c4f0dfd77384 days 15 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002229801
0x54f8c9c2e420cb04346df4f489608c09b2bc77a2d0008bdf53db99be496b5f2e84 days 15 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002227113
0x065ea5f40506cfe7b5a022da107dad102bd780a02df4803d82213f89cc5e66ad87 days 2 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002252649
0x0b966d271b681afe28c4c498565d4db884072f9aacf419e3cc793c6cf03a73ba87 days 2 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002361326
0xf5bf088836173874cdcca64152b962ae589e60cf8a956d457ab106ff00c947c787 days 2 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002361326
0x8bf7f2f60851381ce037dbc03a1db7c399a70a557598fa0c03f09e5dd465d40487 days 2 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002359918
0x9f4de1b7a769315d70e26b2530b625519f1811ceef864cbcc48ac3fc46d2f77787 days 2 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.00235851
0xbec129bbea9fdded060ae0089de16b46e5368c9f388e8064edb6eabe7fe996ad125 days 1 hr ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.002422100863
0x1295b117fe9b0838ccef0bdfe60950762b5f8ad83ee8061d7f1752d1fb97003e147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001159448335
0xa001f5684bcd798782284d540caa1535a4fb50ce5aabeb26760b3edbeda9c869147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001152290096
0x63a055e623cfd96f5ffe088dfc80bfaf415c42ff5aada58e760cab01015de3c3147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001161834415
0x6b8b28a3c6bee4834249f591b183b23edae79484c7587e6eda1c811a05436c2b147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001149904017
0xab7bc2f005a767ea7cb9e7eed0091634199a1f44bb4848193580049269c52828147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001159448335
0x29c4a1feca84e9c51467a40dd8e60266d44eed7d12b0bc458e8b27354b04dfd0147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001152290096
0xff0fd962cc85959408caf549e4f5325e3ea4e52311ecf8206f7f8f9b812abce7147 days 13 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.001157062256
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0x5b71c26406cb31de4ef2fd2f399fad9672903825387ae84041f0c653127d7c9d1849326500 days 13 hrs ago0xd588b586d61c826a0e87919b3d1a239206d58bf20xfcae7970392f510a985a7eaccd3820b7759d65d90.99 Ether
0x4a637ba8bdf8ff7caa72fe477c4ee2383ff130ea2536cf8264b34bd45c4542d81849324500 days 13 hrs ago0xd588b586d61c826a0e87919b3d1a239206d58bf20xfcae7970392f510a985a7eaccd3820b7759d65d90.99 Ether
[ Download CSV Export  ] 
Contract Name: EtherId
Compiler Version: v0.3.5-2016-06-21-b23c300
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
// Ethereum Name Registrar as it should be!
//
// Written by Alexandre Naverniouk
// twitter @AlexNa


contract EtherId {

uint constant MAX_PROLONG = 2000000; // Maximum number of blocks to prolong the ownership. About one year.

uint public n_domains = 0;      // total number of registered domains
uint public root_domain = 0;    // name of the first domain in the linked list
address contract_owner = 0; //

struct Id {                     // Id record. Double linked list. Allows to delete ID
    uint value;
    uint next_id;
    uint prev_id;
}

struct Domain {                 // Domain record. Linked list. 
    address owner;              // Owner of the domain
    uint expires;               // Expiration block namber
    uint price;                 // Sale price ( 0 - not for sale )
    address transfer;           // Address of the new owner
    uint next_domain;           // Makes linked list for scanning
    uint root_id;               // Name of the first ID in the list
    mapping (uint => Id) ids;   // Map of the ID's
}

mapping (uint => Domain) domains; // Map of the domains

function EtherId()
{
    contract_owner = msg.sender;
}

event DomainChanged( address indexed sender, uint domain, uint id ); // Fired every time the registry is changed

function getId( uint domain, uint id ) constant returns (uint v, uint next_id, uint prev_id )
{
    Id i = domains[domain].ids[id]; 

    v = i.value;
    next_id = i.next_id;
    prev_id = i.prev_id;
}

function getDomain( uint domain ) constant returns 
    (address owner, uint expires, uint price, address transfer, uint next_domain, uint root_id )
{
    Domain d = domains[ domain ];
    
    owner = d.owner;
    expires = d.expires;
    price = d.price;
    transfer = d.transfer;
    next_domain = d.next_domain;
    root_id = d.root_id;    
}


function changeDomain( uint domain, uint expires, uint price, address transfer ) 
{
    uint money_used = 0;            // How much was spent here

    if( expires > MAX_PROLONG )     // Not prolong for too long
    {
        expires = MAX_PROLONG;
    }
    
    if( domain == 0 ) throw;        // Prevents creating 0 domain

    Domain d = domains[ domain ];

    if( d.owner == 0 )              // 0 means the domain is not yet registered
    { 
        d.owner = msg.sender;       // Simple calim
        d.price = price;
        d.transfer = transfer;
        d.expires = block.number + expires;
        
        d.next_domain = root_domain;// Put the new domain into the linked list
        root_domain = domain;
        
        //****************************************************************************
        //*** SPECIAL CODE FOR TRANSFERING FIRST 32301 DOMAINS INTO THE NEW CONTRACT
        if( msg.sender == contract_owner && n_domains < 32301 && transfer != 0 ) { 
            d.owner = transfer; // immediately transfer the ownership to the old owner
            d.transfer = 0;
        }
        //****************************************************************************
        
        
        n_domains = n_domains + 1;
        DomainChanged( msg.sender, domain, 0 );
    }
    else                            // The domain already has an owner
    {
        if( d.owner == msg.sender || block.number > d.expires ) { // If it is yours or expired, you have all rights to change
            d.owner = msg.sender;   // Possible change of the ownershp if expired
            d.price = price;
            d.transfer = transfer;
            d.expires = block.number + expires;
            DomainChanged( msg.sender, domain, 0 );
        }
        else                        // Not yours and not expired
        {
            if( d.transfer != 0 ) { // The new owner is specified and ...
                if( d.transfer == msg.sender && msg.value >= d.price ) // ... it is you and enought money 
                {
                    if( d.price > 0 ) 
                    { 
                        if( address( d.owner ).send( d.price ) ) // The money goes to the owner
                        {
                            money_used = d.price;   // remember how much spent
                        }
                        else throw; // problem with send()
                    }

                    d.owner = msg.sender;   // Change the ownership
                    d.price = price;        // New price
                    d.transfer = transfer;  // New transfer
                    d.expires = block.number + expires; //New expiration
                    DomainChanged( msg.sender, domain, 0 );
                }
            } 
            else  // not set for transfer, but...
            {
                if( d.price > 0 &&  msg.value >= d.price ) // ... on sale, and enough money
                {
                    if( address( d.owner ).send( d.price ) ) // The money goes to the owner
                    {
                        money_used = d.price; // remember how much spent
                    }
                    else throw; // problem with send()

                    d.owner = msg.sender;   // Change the ownership
                    d.price = price;        // New price
                    d.transfer = transfer;  // New transfer
                    d.expires = block.number + expires; // New expiration
                    DomainChanged( msg.sender, domain, 0 );
                }
            }
        }
    }
    
    if( msg.value > money_used ) // If transaction has more money than was needed
    {
        if( !msg.sender.send( msg.value - money_used ) ) throw; // We do not need your leftover
    }
}

function changeId( uint domain, uint name, uint value ) {

    if( domain == 0 ) throw;        // Prevents creating 0 domain
    if( name == 0 ) throw;          // Prevents creating 0 id
    
    Domain d = domains[ domain ];

    if( d.owner == msg.sender )     // Only owner can change the ID
    {
        Id id = d.ids[ name ];

        if( id.value == 0 ) {       // 0 means the ID was not found
            if( value != 0 ) {      // Only add non zero values
                id.value = value;   
                id.next_id = d.root_id; // Put into the head of the list
                // id.prev_id = 0;  // 0 is the default, no need to assign
                
                if( d.root_id != 0 ) 
                {
                    d.ids[ d.root_id ].prev_id = name; // link the next ID back
                }

                d.root_id = name;   
                DomainChanged( msg.sender, domain, name );
            }
        }
        else                        // The ID was found
        {
            if( value != 0 )        // Simple change of the value
            {
                id.value = value;
                DomainChanged( msg.sender, domain, name );
            }
            else                    // Deleting the ID
            {
                if( id.prev_id != 0 ) // Modify the double linked list
                {
                    d.ids[ id.prev_id ].next_id = id.next_id;   
                }
                else
                {
                    d.root_id = id.next_id;
                }

                if( id.next_id != 0 )
                {
                    d.ids[ id.next_id ].prev_id = id.prev_id;   
                }
                
                id.prev_id = 0;   // Clear the storage
                id.next_id = 0;   
                id.value = 0;   
                DomainChanged( msg.sender, domain, name );
            }
        }
    }
    
    if( msg.value > 0 ) // If transaction has any money...
    {
        if( !msg.sender.send( msg.value ) ) throw; // ... it is a mistake, so send it back
    }
}

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"root_domain","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"domain","type":"uint256"}],"name":"getDomain","outputs":[{"name":"owner","type":"address"},{"name":"expires","type":"uint256"},{"name":"price","type":"uint256"},{"name":"transfer","type":"address"},{"name":"next_domain","type":"uint256"},{"name":"root_id","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"n_domains","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"domain","type":"uint256"},{"name":"id","type":"uint256"}],"name":"getId","outputs":[{"name":"v","type":"uint256"},{"name":"next_id","type":"uint256"},{"name":"prev_id","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"domain","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"price","type":"uint256"},{"name":"transfer","type":"address"}],"name":"changeDomain","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"domain","type":"uint256"},{"name":"name","type":"uint256"},{"name":"value","type":"uint256"}],"name":"changeId","outputs":[],"type":"function"},{"inputs":[],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"domain","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"DomainChanged","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052600060006000505560006001600050556000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b610de68061007b6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063138716e8146100765780631a7a98e2146100995780631e9da16a1461011457806324fc65ed1461013757806375090ebf1461017a578063eb1ff845146101ad57610074565b005b61008360048050506101d7565b6040518082815260200191505060405180910390f35b6100af60048080359060200190919050506101e0565b604051808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001965050505050505060405180910390f35b6101216004805050610296565b6040518082815260200191505060405180910390f35b610156600480803590602001909190803590602001909190505061029f565b60405180848152602001838152602001828152602001935050505060405180910390f35b6101ab6004808035906020019091908035906020019091908035906020019091908035906020019091905050610309565b005b6101d56004808035906020019091908035906020019091908035906020019091905050610a72565b005b60016000505481565b60006000600060006000600060006003600050600089815260200190815260200160002060005090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16965086508060010160005054955085508060020160005054945084508060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935083508060040160005054925082508060050160005054915081505b5091939550919395565b60006000505481565b600060006000600060036000506000878152602001908152602001600020600050600601600050600086815260200190815260200160002060005090508060000160005054935083508060010160005054925082508060020160005054915081505b509250925092565b6000600060009150621e848085111561032557621e8480945084505b600086141561033357610002565b60036000506000878152602001908152602001600020600050905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561057557338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550838160020160005081905550828160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055508443018160010160005081905550600160005054816004016000508190555085600160005081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156104835750617e2d600060005054105b80156104a6575060008373ffffffffffffffffffffffffffffffffffffffff1614155b1561050757828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555060008160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b6001600060005054016000600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db722459876000604051808381526020018281526020019250505060405180910390a2610a21565b3373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806105d95750806001016000505443115b156106ae57338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550838160020160005081905550828160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555084430181600101600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db722459876000604051808381526020018281526020019250505060405180910390a2610a20565b60008160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156108b7573373ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610758575080600201600050543410155b156108b2576000816002016000505411156107e6578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008260020160005054604051809050600060405180830381858888f19350505050156107e0578060020160005054915081506107e5565b610002565b5b338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550838160020160005081905550828160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555084430181600101600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db722459876000604051808381526020018281526020019250505060405180910390a25b610a1f565b600081600201600050541180156108d5575080600201600050543410155b15610a1e578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008260020160005054604051809050600060405180830381858888f193505050501561094d57806002016000505491508150610952565b610002565b338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550838160020160005081905550828160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff0219169083021790555084430181600101600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db722459876000604051808381526020018281526020019250505060405180910390a25b5b5b5b81341115610a69573373ffffffffffffffffffffffffffffffffffffffff166000833403604051809050600060405180830381858888f193505050501515610a6857610002565b5b5b505050505050565b600060006000851415610a8457610002565b6000841415610a9257610002565b6003600050600086815260200190815260200160002060005091503373ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610d97578160060160005060008581526020019081526020016000206000509050600081600001600050541415610c0257600083141515610bfd578281600001600050819055508160050160005054816001016000508190555060008260050160005054141515610b9a578382600601600050600084600501600050548152602001908152602001600020600050600201600050819055505b8382600501600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db7224598686604051808381526020018281526020019250505060405180910390a25b610d96565b600083141515610c73578281600001600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db7224598686604051808381526020018281526020019250505060405180910390a2610d95565b60008160020160005054141515610cbd5780600101600050548260060160005060008360020160005054815260200190815260200160002060005060010160005081905550610cd1565b806001016000505482600501600050819055505b60008160010160005054141515610d1757806002016000505482600601600050600083600101600050548152602001908152602001600020600050600201600050819055505b6000816002016000508190555060008160010160005081905550600081600001600050819055503373ffffffffffffffffffffffffffffffffffffffff167ff10cb5dcb691bb26c2685b3fd72f4ca4008c33eafd1ee88c27210ef1db7224598686604051808381526020018281526020019250505060405180910390a25b5b5b6000341115610dde573373ffffffffffffffffffffffffffffffffffffffff16600034604051809050600060405180830381858888f193505050501515610ddd57610002565b5b5b505050505056
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.