ETH Price: $2,036.16 (+3.05%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Push127199942021-06-28 3:04:221708 days ago1624849462IN
0xae08937C...176Ab9065
0 ETH0.0009114510
Push127026152021-06-25 10:04:151711 days ago1624615455IN
0xae08937C...176Ab9065
0 ETH0.0012761914
Push126940872021-06-24 2:02:421712 days ago1624500162IN
0xae08937C...176Ab9065
0 ETH0.0013673515
Push126935582021-06-24 0:03:121712 days ago1624492992IN
0xae08937C...176Ab9065
0 ETH0.0009115710
Push126910832021-06-23 15:08:501713 days ago1624460930IN
0xae08937C...176Ab9065
0 ETH0.0019140421
Push126908102021-06-23 14:10:521713 days ago1624457452IN
0xae08937C...176Ab9065
0 ETH0.0026800129.4
Push126902902021-06-23 12:08:331713 days ago1624450113IN
0xae08937C...176Ab9065
0 ETH0.0010027211.00000145
Push126556262021-06-18 2:02:161718 days ago1623981736IN
0xae08937C...176Ab9065
0 ETH0.0009115710
Push126442902021-06-16 8:02:281720 days ago1623830548IN
0xae08937C...176Ab9065
0 ETH0.0010027211
Push126440562021-06-16 7:04:501720 days ago1623827090IN
0xae08937C...176Ab9065
0 ETH0.0010025911
Push126429992021-06-16 3:05:091720 days ago1623812709IN
0xae08937C...176Ab9065
0 ETH0.0011028512.1
Push126427282021-06-16 2:03:031720 days ago1623808983IN
0xae08937C...176Ab9065
0 ETH0.0015496617
Push126376502021-06-15 7:13:251721 days ago1623741205IN
0xae08937C...176Ab9065
0 ETH0.0010025911
Push112470392020-11-13 4:03:411935 days ago1605240221IN
0xae08937C...176Ab9065
0 ETH0.0030290735
Push110657332020-10-16 8:03:311963 days ago1602835411IN
0xae08937C...176Ab9065
0 ETH0.0043278550.00000145
Push110654462020-10-16 7:02:401963 days ago1602831760IN
0xae08937C...176Ab9065
0 ETH0.0045868853
Push110531582020-10-14 10:02:331965 days ago1602669753IN
0xae08937C...176Ab9065
0 ETH0.0037219543
Push110449762020-10-13 4:02:321966 days ago1602561752IN
0xae08937C...176Ab9065
0 ETH0.0046740754
Push110447842020-10-13 3:17:241966 days ago1602559044IN
0xae08937C...176Ab9065
0 ETH0.0010947546.00000123
Push110447842020-10-13 3:17:241966 days ago1602559044IN
0xae08937C...176Ab9065
0 ETH0.0027694432
Push110265722020-10-10 8:11:201969 days ago1602317480IN
0xae08937C...176Ab9065
0 ETH0.0027698232.00000145
Push110187602020-10-09 3:07:311970 days ago1602212851IN
0xae08937C...176Ab9065
0 ETH0.0038079844.00000145
Push108977612020-09-20 7:11:091989 days ago1600585869IN
0xae08937C...176Ab9065
0 ETH0.0057985167.00000145
Push108974762020-09-20 6:07:151989 days ago1600582035IN
0xae08937C...176Ab9065
0 ETH0.0064052174
Push108971932020-09-20 5:05:181989 days ago1600578318IN
0xae08937C...176Ab9065
0 ETH0.00874104101.00000145
View all transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
szfcMerkleRoot

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-03-20
*/

pragma solidity ^0.5.2;

contract szfcMerkleRoot {

    uint64 oneHour= 3600000;

    address owner;

    mapping(bytes32 => uint64) hash2timestamp;

    mapping(uint64=> bytes32[]) public timestamp2hashes;  //date -> merkle root hash

    constructor() public {

        owner = msg.sender;

    }

    function push(uint64 _timestamp, bytes32 _root) external{

        require(msg.sender == owner);

        require(checkTime(_timestamp));
        require(hash2timestamp[_root] == 0);

        //归结
        uint64 hour_point = _timestamp - _timestamp % oneHour;

        hash2timestamp[_root] = _timestamp;

        bytes32[] storage hashes = timestamp2hashes[hour_point];

        hashes.push(_root);


    }




    function getAllHashes(uint64 _timestamp) external view returns(bytes32[] memory){

        uint64 hour_point = _timestamp - _timestamp % oneHour;

        bytes32[] storage hashes = timestamp2hashes[hour_point];

        return hashes;

    }


    function getLastHash(uint64 _timestamp) public view returns(bytes32){

        uint64 hour_point = _timestamp - _timestamp % oneHour;

        bytes32[] storage hashes = timestamp2hashes[hour_point];

        if( hashes.length > 0 ) {
            return hashes[hashes.length-1];
        }

        return 0x00;

    }


    function getTimestamp(bytes32 _root) external view returns(uint64){

        return hash2timestamp[_root];

    }


    function getOwner() external view returns(address){

        return owner;

    }


    function checkTime(uint64 _timestamp) private view returns (bool) {

        return ( _timestamp < now * 1000 );
    }



}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"_timestamp","type":"uint64"}],"name":"getLastHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_timestamp","type":"uint64"},{"name":"_root","type":"bytes32"}],"name":"push","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_root","type":"bytes32"}],"name":"getTimestamp","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_timestamp","type":"uint64"}],"name":"getAllHashes","outputs":[{"name":"","type":"bytes32[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint64"},{"name":"","type":"uint256"}],"name":"timestamp2hashes","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

60806040526000805467ffffffffffffffff19166236ee8017905534801561002657600080fd5b50600080546801000000000000000033027fffffffff0000000000000000000000000000000000000000ffffffffffffffff9091161790556104978061006d6000396000f3fe608060405234801561001057600080fd5b506004361061007e577c010000000000000000000000000000000000000000000000000000000060003504633e59148f8114610083578063893d20e8146100bc5780639c868e67146100ed578063d45c44351461011c578063d977ebd214610156578063e55c121b146101cd575b600080fd5b6100aa6004803603602081101561009957600080fd5b503567ffffffffffffffff166101fa565b60408051918252519081900360200190f35b6100c4610272565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61011a6004803603604081101561010357600080fd5b5067ffffffffffffffff813516906020013561029a565b005b6101396004803603602081101561013257600080fd5b5035610375565b6040805167ffffffffffffffff9092168252519081900360200190f35b61017d6004803603602081101561016c57600080fd5b503567ffffffffffffffff16610391565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101b95781810151838201526020016101a1565b505050509050019250505060405180910390f35b6100aa600480360360408110156101e357600080fd5b5067ffffffffffffffff8135169060200135610425565b60008054819067ffffffffffffffff90811690841681151561021857fe5b06830367ffffffffffffffff8116600090815260026020526040812080549293509111156102665780548190600019810190811061025257fe5b90600052602060002001549250505061026d565b5060009150505b919050565b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1690565b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146102ca57600080fd5b6102d382610455565b15156102de57600080fd5b60008181526001602052604090205467ffffffffffffffff161561030157600080fd5b6000805467ffffffffffffffff90811690841681151561031d57fe5b6000848152600160208181526040808420805467ffffffffffffffff191667ffffffffffffffff8b81169190911790915595909406909703909316815260028652908120805492830181558152939093209092015550565b60009081526001602052604090205467ffffffffffffffff1690565b600080546060919067ffffffffffffffff9081169084168115156103b157fe5b06830367ffffffffffffffff8116600090815260026020908152604091829020805483518184028101840190945280845293945092839183018282801561041757602002820191906000526020600020905b815481526020019060010190808311610403575b505050505092505050919050565b60026020528160005260406000208181548110151561044057fe5b90600052602060002001600091509150505481565b6103e8420267ffffffffffffffff82161091905056fea165627a7a7230582055db5adcee19e4114e071a53a7c2f3aeb189b94df0da6ac5aeaac8061c55648c0029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007e577c010000000000000000000000000000000000000000000000000000000060003504633e59148f8114610083578063893d20e8146100bc5780639c868e67146100ed578063d45c44351461011c578063d977ebd214610156578063e55c121b146101cd575b600080fd5b6100aa6004803603602081101561009957600080fd5b503567ffffffffffffffff166101fa565b60408051918252519081900360200190f35b6100c4610272565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61011a6004803603604081101561010357600080fd5b5067ffffffffffffffff813516906020013561029a565b005b6101396004803603602081101561013257600080fd5b5035610375565b6040805167ffffffffffffffff9092168252519081900360200190f35b61017d6004803603602081101561016c57600080fd5b503567ffffffffffffffff16610391565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101b95781810151838201526020016101a1565b505050509050019250505060405180910390f35b6100aa600480360360408110156101e357600080fd5b5067ffffffffffffffff8135169060200135610425565b60008054819067ffffffffffffffff90811690841681151561021857fe5b06830367ffffffffffffffff8116600090815260026020526040812080549293509111156102665780548190600019810190811061025257fe5b90600052602060002001549250505061026d565b5060009150505b919050565b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1690565b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146102ca57600080fd5b6102d382610455565b15156102de57600080fd5b60008181526001602052604090205467ffffffffffffffff161561030157600080fd5b6000805467ffffffffffffffff90811690841681151561031d57fe5b6000848152600160208181526040808420805467ffffffffffffffff191667ffffffffffffffff8b81169190911790915595909406909703909316815260028652908120805492830181558152939093209092015550565b60009081526001602052604090205467ffffffffffffffff1690565b600080546060919067ffffffffffffffff9081169084168115156103b157fe5b06830367ffffffffffffffff8116600090815260026020908152604091829020805483518184028101840190945280845293945092839183018282801561041757602002820191906000526020600020905b815481526020019060010190808311610403575b505050505092505050919050565b60026020528160005260406000208181548110151561044057fe5b90600052602060002001600091509150505481565b6103e8420267ffffffffffffffff82161091905056fea165627a7a7230582055db5adcee19e4114e071a53a7c2f3aeb189b94df0da6ac5aeaac8061c55648c0029

Swarm Source

bzzr://55db5adcee19e4114e071a53a7c2f3aeb189b94df0da6ac5aeaac8061c55648c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.