Sponsored Link: Join FundYourselfNow ICO (20% bonus) – One-stop crowdfunding platform for projects seeking funding and talented helpers
Contract Overview | EtherID
ETH Balance: 0.10063 Ether
ETH USD Value: $32.25 (@ $320.47/ETH)
No Of Transactions: 35537 txns + 2 internalTxns
  Latest 25 txns from a total Of 35537 transactions (+1 PendingTxn) View All

TxHash Block Age From To Value [TxFee]
0xbada1dd834b2105befb1a278a7917536110dfe04a95f855a819637c53d6313ae(pending)19 mins ago0x00e18d6347d643bcc402efb28c7e9c76d499f9cb  IN  0xd588b586d61c826a0e87919b3d1a239206d58bf20 Ether(pending)
0x77f71b55e5da3d5b2b637053f6f30b470828cdfeaead2d576b3c8e345c4d13b239149983 hrs 26 mins ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.0013913
0xd90430a1898169204caf5676f82d48243cd8a3b18eca75e0136d363ae6c1c9ac39137239 hrs 30 mins ago0xf56a5f8f61bcc8296fee08e126a32b08046161ec  IN   EtherID0 Ether0.00481582
0x86260bba09d9c2cd4b4c587fce0fb7e1be0c0f95cf99d856109f9537e88e1ed939025292 days 16 hrs ago0x00e18d6347d643bcc402efb28c7e9c76d499f9cb  IN   EtherID0 Ether0.00116061
0xa9b87256fc438a0afc88a7644654fa8989e33fae09391c381b50cef39910109b385973510 days 18 hrs ago0xab20af057c9cbe5a6c9934ecc8fb6ee50039d8c3  IN   EtherID0 Ether0.00224189
0xb30242c5d9bb0b8fabede2be41d7bd52ccacd8debd393a1ade1b424c841fd5e4383664315 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234103
0xb3d6a4e6a201f2187e98c23d58cfa5e4f2e1af888f75acaae83bfce890c5249f383664315 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234103
0xc858d6c2dcaf001910f3eace8463be46864bffe8b0391259b6846973264c7230383663115 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00100565
0x71792f7253fb78659ed0e521223f75625bfa0de4fb84e96755ff2a45418e5c0c383663115 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234103
0xe308be87aabd71170fa182a3f20b6acfc6399dcfe5b41b00791d91abf6aeed42383663115 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00101053
0xbd0cb2fb27a37279c2a24c92b641d5173db66990f8583ec6d14d0f79d5166c85383662815 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00101053
0x4f75111ec465708d4c28c58c6a7fcb95a07eb46ade1012998e310dbd913a5638383662515 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234527
0x3c30fc9a1218994427f791003c09267b27a50f09da15a6b75f193efcb7555d29383662315 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234527
0x870a2bee462d4145a042304dbf57f572afdd6fc16492f9adf646208ed87abf04383661715 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236505
0xfbd661c0f4aaa5e1a05b57ef7ecba5e545d39d36f6c3302b87542a74fd2d8f46383661415 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236505
0x3682d55a0fce81c25f7a6c58a922aec53024accb6fd35943435c1da0726f3676383661015 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236505
0xd2ca998935fdb885f4898b000a0fdcefa8c091194e4706713377de9d3408b9c1383661015 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236222
0xa8bf5cea0650576dc669910e84f7343290f25360b354f59323ee9c7d205afd83383661015 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236222
0xb9b5530eb09a3685069e3424bc879ff90684825b4be102165e30dae3f71106a5383660715 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234668
0x474a2966dda999979ea418588bca1423a02cbd23744abae53434427b46ef229e383657415 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234527
0x29e85a5cdc7ed2c6cdff6396e8a4286de431edb2da0637606c4a3e289cdafc20383654215 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236222
0xb6744d84ff20c7c9da1f207f1b26353d1671cce5281449f6a362b5c1e66ebe62383651215 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00234668
0x4b4810c3a1c1a2ca50a32cf054045b7079129ecc2afac3d95e942d7b09526c21383651015 days 4 hrs ago0xd5493300e5d8b3568875c0dee49703eb15e66ab3  IN   EtherID0 Ether0.00236646
0x8da000e952283b0d2366a6b887975232ed3c20ef1ed44c40861b8e7f46dc2136383079916 days 6 hrs ago0x1a88c052fc7a8401e00b2f76f96ac62a19427731  IN   EtherID0 Ether0.00067857
0x77d378bf90b9ceaa881ea6b1505b5def4328039f6009ac2f1a11a3fa4f347032383077816 days 6 hrs ago0x1a88c052fc7a8401e00b2f76f96ac62a19427731  IN   EtherID0 Ether0.00067997

[Download: CSV Export ]    
 Internal Transactions as a result of Contract Execution
  Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0x5b71c26406cb31de4ef2fd2f399fad9672903825387ae84041f0c653127d7c9d1849326349 days 4 hrs ago0xd588b586d61c826a0e87919b3d1a239206d58bf20xfcae7970392f510a985a7eaccd3820b7759d65d90.99 Ether
0x4a637ba8bdf8ff7caa72fe477c4ee2383ff130ea2536cf8264b34bd45c4542d81849324349 days 4 hrs ago0xd588b586d61c826a0e87919b3d1a239206d58bf20xfcae7970392f510a985a7eaccd3820b7759d65d90.99 Ether

[Download: CSV Export ]    
Contract Name: EtherId
Compiler Version: v0.3.5-2016-06-21-b23c300
Optimization Enabled: No
Online Solidity Editor:  Click To View



  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