Sponsored Link:  Presearch [ ICO ]The Decentralized Search Engine.
Contract Overview | EtherID
ETH Balance: 0.10063 Ether
ETH USD Value: $19.88 (@ $197.54/ETH)
No Of Transactions: 35610 txns
  Latest 25 txns from a total Of 35610 transactions View All

TxHash Block Age From To Value [TxFee]
0xbec129bbea9fdded060ae0089de16b46e5368c9f388e8064edb6eabe7fe996ad40431487 days 7 hrs ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.0024221
0x1295b117fe9b0838ccef0bdfe60950762b5f8ad83ee8061d7f1752d1fb97003e393438529 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115944
0xa001f5684bcd798782284d540caa1535a4fb50ce5aabeb26760b3edbeda9c869393438429 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115229
0x63a055e623cfd96f5ffe088dfc80bfaf415c42ff5aada58e760cab01015de3c3393438129 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00116183
0x6b8b28a3c6bee4834249f591b183b23edae79484c7587e6eda1c811a05436c2b393438029 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.0011499
0xab7bc2f005a767ea7cb9e7eed0091634199a1f44bb4848193580049269c52828393437429 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115944
0x29c4a1feca84e9c51467a40dd8e60266d44eed7d12b0bc458e8b27354b04dfd0393437229 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115229
0xff0fd962cc85959408caf549e4f5325e3ea4e52311ecf8206f7f8f9b812abce7393437029 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0x45624b183600bd956db94d8bd455ec200a994e72da6cef638baa94ec8d537b26393436729 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115229
0x35ec0fbe024e01a895cbcaf3f0c97e73b1c1d7632070b2c7efce0f64f6ee9389393436629 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00114513
0xcf32dde2b0ea0d7ff6d3667b368f2c00e4fc3b74bdb2f3f291b6f606a8d3433b393436429 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00114751
0x82cac9f53d3f0697346b477b3f50ab45b8a2ae2dc30198e79fc1212c427c0f00393436329 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00114751
0x449fb366f72f56c81614806002d00ce9a5511881962f47b196e604e3cf403fca393435929 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00116183
0xf226fcd4c9373fe05a2b66d7217b3cae001d906913a1458eb8f767cd98086870393434529 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.0011499
0xec81b5f067d217d163cef55ebd9f738738a8ff381001ff0a3d19a02ba342bec1393434229 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115944
0xa5445bcd99f6f114563bcff48626943c2b168dd01f1f77a145e57cf9212e51f1393432129 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115944
0xec0916baeb7abfdebdb535b3f316536f9370331b2d158af8f37c54356a5f4643393431529 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0xab94281a27e82ff28818a2d395d6dda648750a9667888b43517f03f770b589a3393431329 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0x703fd5e4af644e378086310732b6e68382e3335cd0f752a49049c033e6db14ff393430929 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0x014ba7e4fd6e59f0a218df79e170c8a5cf42b27e43da39557a016183678d4203393430629 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0x01f74f5ef09caeac69fb64e089bb74e4e4266eb757c7751a80201d18b081c258393430329 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115229
0x86537b13ada5d751bf3943a9d9cf98a6c3c84c5d45028a94c1e88a3d6822ff51393429829 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00115706
0xd3a38fe6c3d944860c6a51004b00b33a5329a082bdad62c9baeb30b7a4dc4404393429729 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.0011499
0x6c28b3674316291be078cd4c6cf3c1f32c11d9cdb78751c4b914906e43949997393429329 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.0011499
0xceac76e540033b689776484e3cc46749518465c258b01701a3a50b949265d420393429129 days 20 hrs ago0x4dcc728d030f3d4d3419df2eb90db59f3104a364  IN   EtherID0 Ether0.00171629
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0x5b71c26406cb31de4ef2fd2f399fad9672903825387ae84041f0c653127d7c9d1849326382 days 19 hrs ago0xd588b586d61c826a0e87919b3d1a239206d58bf20xfcae7970392f510a985a7eaccd3820b7759d65d90.99 Ether
0x4a637ba8bdf8ff7caa72fe477c4ee2383ff130ea2536cf8264b34bd45c4542d81849324382 days 19 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.