ETH Price: $2,065.48 (-2.24%)

Contract

0x1E31F4504E4E20bDFd6CDC03113e35f927D98323
 

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
Consume Token247096402026-03-22 1:03:1128 hrs ago1774141391IN
0x1E31F450...927D98323
0 ETH0.000000840.03424253
Anchor Response247096402026-03-22 1:03:1128 hrs ago1774141391IN
0x1E31F450...927D98323
0 ETH0.000001630.03424253
Consume Token247096212026-03-22 0:59:2328 hrs ago1774141163IN
0x1E31F450...927D98323
0 ETH0.000000820.03363874
Anchor Response247096212026-03-22 0:59:2328 hrs ago1774141163IN
0x1E31F450...927D98323
0 ETH0.00000160.03363874
Consume Token247061602026-03-21 13:24:2340 hrs ago1774099463IN
0x1E31F450...927D98323
0 ETH0.00000090.03668753
Anchor Response247061602026-03-21 13:24:2340 hrs ago1774099463IN
0x1E31F450...927D98323
0 ETH0.000001740.03668753
Consume Token247021782026-03-21 0:04:232 days ago1774051463IN
0x1E31F450...927D98323
0 ETH0.000001130.0460374
Anchor Response247021772026-03-21 0:04:112 days ago1774051451IN
0x1E31F450...927D98323
0 ETH0.000002020.0424458
Consume Token246971202026-03-20 7:09:232 days ago1773990563IN
0x1E31F450...927D98323
0 ETH0.000001410.05737961
Anchor Response246971202026-03-20 7:09:232 days ago1773990563IN
0x1E31F450...927D98323
0 ETH0.000002730.05737961
Consume Token246970042026-03-20 6:45:472 days ago1773989147IN
0x1E31F450...927D98323
0 ETH0.000001190.04854783
Anchor Response246970042026-03-20 6:45:472 days ago1773989147IN
0x1E31F450...927D98323
0 ETH0.000002310.04854783
Consume Token246969582026-03-20 6:36:352 days ago1773988595IN
0x1E31F450...927D98323
0 ETH0.000001470.06007062
Anchor Response246969582026-03-20 6:36:352 days ago1773988595IN
0x1E31F450...927D98323
0 ETH0.000002850.06007062
Consume Token246969372026-03-20 6:32:232 days ago1773988343IN
0x1E31F450...927D98323
0 ETH0.000001720.06999065
Anchor Response246969362026-03-20 6:32:112 days ago1773988331IN
0x1E31F450...927D98323
0 ETH0.000003460.07274845
Consume Token246967062026-03-20 5:45:592 days ago1773985559IN
0x1E31F450...927D98323
0 ETH0.000001410.05731321
Consume Token246967052026-03-20 5:45:472 days ago1773985547IN
0x1E31F450...927D98323
0 ETH0.000001340.05459987
Anchor Response246967032026-03-20 5:45:232 days ago1773985523IN
0x1E31F450...927D98323
0 ETH0.000002830.05951742
Anchor Response246967022026-03-20 5:45:112 days ago1773985511IN
0x1E31F450...927D98323
0 ETH0.000002620.05520206
Consume Token246350082026-03-11 15:05:3511 days ago1773241535IN
0x1E31F450...927D98323
0 ETH0.000008990.36527824
Anchor Response246350072026-03-11 15:05:2311 days ago1773241523IN
0x1E31F450...927D98323
0 ETH0.000017730.37245818
Consume Token246325022026-03-11 6:40:5911 days ago1773211259IN
0x1E31F450...927D98323
0 ETH0.00000090.03663586
Anchor Response246325022026-03-11 6:40:5911 days ago1773211259IN
0x1E31F450...927D98323
0 ETH0.000001740.03663586
Consume Token246324362026-03-11 6:27:4711 days ago1773210467IN
0x1E31F450...927D98323
0 ETH0.000000820.0336812
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:
SurveyAnchor

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

/*
 * Survey Blockchain Anchoring Contract
 * 
 * 기능:
 *  - 설문 응답 해시 anchoring
 *  - 토큰 소모 이벤트 기록
 *  - 응답 무결성 검증을 위한 hash 조회 기능
 *
 * 개인정보 없이 재현 가능한 hash 기반 검증 구조.
 * Arbitrum / Ethereum / Polygon 모두 호환.
 */

contract SurveyAnchor {

    // 설문ID → 응답ID → 해시값
    mapping(uint256 => mapping(uint256 => bytes32)) public responseHashes;

    // --- Events -------------------------------------------------------------

    // 토큰 소모 이벤트
    event ResponseTokenConsumed(
        uint256 indexed surveyId,
        bytes32 indexed tokenHash,
        uint256 blockNumber,
        uint256 timestamp
    );

    // 응답 해시 anchoring 이벤트
    event ResponseAnchored(
        uint256 indexed surveyId,
        uint256 indexed responseId,
        bytes32 responseHash,
        uint256 blockNumber,
        uint256 timestamp
    );

    // --- Token consumption ---------------------------------------------------

    /*
     * 토큰이 소모되었음을 기록
     * tokenHash: 서버에서 SHA256(token 문자열) 결과 (bytes32)
     */
    function consumeToken(uint256 surveyId, bytes32 tokenHash) external {
        emit ResponseTokenConsumed(
            surveyId,
            tokenHash,
            block.number,
            block.timestamp
        );
    }

    // --- Response anchoring --------------------------------------------------

    /*
     * 응답 JSON 정규화 → SHA-256 → bytes32 로 변환된 해시를 저장
     * responseId: 서버 DB의 응답 PK
     */
    function anchorResponse(
        uint256 surveyId,
        uint256 responseId,
        bytes32 responseHash
    ) external {
        responseHashes[surveyId][responseId] = responseHash;

        emit ResponseAnchored(
            surveyId,
            responseId,
            responseHash,
            block.number,
            block.timestamp
        );
    }

    // --- Hash 조회 ----------------------------------------------------------

    function getResponseHash(
        uint256 surveyId,
        uint256 responseId
    ) external view returns (bytes32) {
        return responseHashes[surveyId][responseId];
    }
}

Settings
{
  "evmVersion": "paris",
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"surveyId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"responseId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"responseHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ResponseAnchored","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"surveyId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"tokenHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ResponseTokenConsumed","type":"event"},{"inputs":[{"internalType":"uint256","name":"surveyId","type":"uint256"},{"internalType":"uint256","name":"responseId","type":"uint256"},{"internalType":"bytes32","name":"responseHash","type":"bytes32"}],"name":"anchorResponse","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"surveyId","type":"uint256"},{"internalType":"bytes32","name":"tokenHash","type":"bytes32"}],"name":"consumeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"surveyId","type":"uint256"},{"internalType":"uint256","name":"responseId","type":"uint256"}],"name":"getResponseHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"responseHashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]

6080604052348015600f57600080fd5b506103f88061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80638494e6d7146100515780638e068bd114610081578063e5ca29f4146100b1578063f3945502146100cd575b600080fd5b61006b60048036038101906100669190610220565b6100e9565b6040516100789190610279565b60405180910390f35b61009b60048036038101906100969190610220565b61010e565b6040516100a89190610279565b60405180910390f35b6100cb60048036038101906100c691906102c0565b61013c565b005b6100e760048036038101906100e29190610300565b61017b565b005b6000602052816000526040600020602052806000526040600020600091509150505481565b6000806000848152602001908152602001600020600083815260200190815260200160002054905092915050565b80827f67bbb192009c3518b33264c5b534b3ed0b242125016606dd4697820e2748efa2434260405161016f929190610362565b60405180910390a35050565b8060008085815260200190815260200160002060008481526020019081526020016000208190555081837fea912dcbac6bde57b727086a10f07d02cd2e56a3df9fe2897750f194265fc1fa8343426040516101d89392919061038b565b60405180910390a3505050565b600080fd5b6000819050919050565b6101fd816101ea565b811461020857600080fd5b50565b60008135905061021a816101f4565b92915050565b60008060408385031215610237576102366101e5565b5b60006102458582860161020b565b92505060206102568582860161020b565b9150509250929050565b6000819050919050565b61027381610260565b82525050565b600060208201905061028e600083018461026a565b92915050565b61029d81610260565b81146102a857600080fd5b50565b6000813590506102ba81610294565b92915050565b600080604083850312156102d7576102d66101e5565b5b60006102e58582860161020b565b92505060206102f6858286016102ab565b9150509250929050565b600080600060608486031215610319576103186101e5565b5b60006103278682870161020b565b93505060206103388682870161020b565b9250506040610349868287016102ab565b9150509250925092565b61035c816101ea565b82525050565b60006040820190506103776000830185610353565b6103846020830184610353565b9392505050565b60006060820190506103a0600083018661026a565b6103ad6020830185610353565b6103ba6040830184610353565b94935050505056fea26469706673582212202c1b57073774154233c226c1423094aaf3576c957370233e8bbd1806452e983e64736f6c634300081c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80638494e6d7146100515780638e068bd114610081578063e5ca29f4146100b1578063f3945502146100cd575b600080fd5b61006b60048036038101906100669190610220565b6100e9565b6040516100789190610279565b60405180910390f35b61009b60048036038101906100969190610220565b61010e565b6040516100a89190610279565b60405180910390f35b6100cb60048036038101906100c691906102c0565b61013c565b005b6100e760048036038101906100e29190610300565b61017b565b005b6000602052816000526040600020602052806000526040600020600091509150505481565b6000806000848152602001908152602001600020600083815260200190815260200160002054905092915050565b80827f67bbb192009c3518b33264c5b534b3ed0b242125016606dd4697820e2748efa2434260405161016f929190610362565b60405180910390a35050565b8060008085815260200190815260200160002060008481526020019081526020016000208190555081837fea912dcbac6bde57b727086a10f07d02cd2e56a3df9fe2897750f194265fc1fa8343426040516101d89392919061038b565b60405180910390a3505050565b600080fd5b6000819050919050565b6101fd816101ea565b811461020857600080fd5b50565b60008135905061021a816101f4565b92915050565b60008060408385031215610237576102366101e5565b5b60006102458582860161020b565b92505060206102568582860161020b565b9150509250929050565b6000819050919050565b61027381610260565b82525050565b600060208201905061028e600083018461026a565b92915050565b61029d81610260565b81146102a857600080fd5b50565b6000813590506102ba81610294565b92915050565b600080604083850312156102d7576102d66101e5565b5b60006102e58582860161020b565b92505060206102f6858286016102ab565b9150509250929050565b600080600060608486031215610319576103186101e5565b5b60006103278682870161020b565b93505060206103388682870161020b565b9250506040610349868287016102ab565b9150509250925092565b61035c816101ea565b82525050565b60006040820190506103776000830185610353565b6103846020830184610353565b9392505050565b60006060820190506103a0600083018661026a565b6103ad6020830185610353565b6103ba6040830184610353565b94935050505056fea26469706673582212202c1b57073774154233c226c1423094aaf3576c957370233e8bbd1806452e983e64736f6c634300081c0033

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.