Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 34,518 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Record Checkpoin... | 7664542 | 5 mins ago | IN | 0 ETH | 0.00093536 | ||||
Record Checkpoin... | 7664531 | 7 mins ago | IN | 0 ETH | 0.00103265 | ||||
Record Checkpoin... | 7664519 | 9 mins ago | IN | 0 ETH | 0.00102302 | ||||
Record Checkpoin... | 7664490 | 15 mins ago | IN | 0 ETH | 0.00118861 | ||||
Record Checkpoin... | 7664465 | 20 mins ago | IN | 0 ETH | 0.00091619 | ||||
Record Checkpoin... | 7664443 | 25 mins ago | IN | 0 ETH | 0.00087879 | ||||
Record Checkpoin... | 7664440 | 25 mins ago | IN | 0 ETH | 0.00079829 | ||||
Record Checkpoin... | 7664428 | 28 mins ago | IN | 0 ETH | 0.00097179 | ||||
Record Checkpoin... | 7664360 | 41 mins ago | IN | 0 ETH | 0.00106344 | ||||
Record Checkpoin... | 7664310 | 52 mins ago | IN | 0 ETH | 0.00125204 | ||||
Record Checkpoin... | 7664300 | 54 mins ago | IN | 0 ETH | 0.00105341 | ||||
Record Checkpoin... | 7664247 | 1 hr ago | IN | 0 ETH | 0.00101377 | ||||
Record Checkpoin... | 7664235 | 1 hr ago | IN | 0 ETH | 0.00116251 | ||||
Record Checkpoin... | 7664224 | 1 hr ago | IN | 0 ETH | 0.00113428 | ||||
Record Checkpoin... | 7664196 | 1 hr ago | IN | 0 ETH | 0.00141032 | ||||
Record Checkpoin... | 7664172 | 1 hr ago | IN | 0 ETH | 0.00123558 | ||||
Record Checkpoin... | 7664153 | 1 hr ago | IN | 0 ETH | 0.00112156 | ||||
Record Checkpoin... | 7664146 | 1 hr ago | IN | 0 ETH | 0.0011437 | ||||
Record Checkpoin... | 7664134 | 1 hr ago | IN | 0 ETH | 0.00127078 | ||||
Record Checkpoin... | 7664070 | 1 hr ago | IN | 0 ETH | 0.00066853 | ||||
Record Checkpoin... | 7664017 | 1 hr ago | IN | 0 ETH | 0.00046486 | ||||
Record Checkpoin... | 7664006 | 1 hr ago | IN | 0 ETH | 0.00046348 | ||||
Record Checkpoin... | 7663954 | 2 hrs ago | IN | 0 ETH | 0.00032659 | ||||
Record Checkpoin... | 7663943 | 2 hrs ago | IN | 0 ETH | 0.00032001 | ||||
Record Checkpoin... | 7663932 | 2 hrs ago | IN | 0 ETH | 0.00033672 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DestraStorageNodeRegistry
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/access/Ownable.sol"; contract DestraStorageNodeRegistry is Ownable { event NodeRegistered( address indexed owner, string peerId, string locationMultiAddr ); event NodeDeregistered(address indexed owner, string peerId); event LocationUpdated(string peerId, string newLocation); event CheckpointRecorded(address indexed owner, string peerId, uint timestamp); struct Node { address owner; string peerId; uint registrationTime; string locationMultiAddr; uint lastCheckpoint; } mapping(string => Node) public storageNodes; constructor() Ownable(msg.sender) {} function registerNode( string memory _peerId, string memory _locationMultiAddr ) external { require( storageNodes[_peerId].owner == address(0), "Node already registered" ); storageNodes[_peerId] = Node({ owner: msg.sender, peerId: _peerId, registrationTime: block.timestamp, locationMultiAddr: _locationMultiAddr, lastCheckpoint: block.timestamp }); emit NodeRegistered(msg.sender, _peerId, _locationMultiAddr); } function updateLocation( string memory _peerId, string memory _newLocation ) external { require( storageNodes[_peerId].owner == msg.sender, "You are not the owner of this peerId" ); storageNodes[_peerId].locationMultiAddr = _newLocation; emit LocationUpdated(_peerId, _newLocation); } function deregisterNode(string memory _peerId) external { require( storageNodes[_peerId].owner == msg.sender, "Not the owner of this peerId" ); delete storageNodes[_peerId]; emit NodeDeregistered(msg.sender, _peerId); } function recordCheckpoint(string memory _peerId) external { require( storageNodes[_peerId].owner == msg.sender, "You are not the owner of this peerId" ); storageNodes[_peerId].lastCheckpoint = block.timestamp; emit CheckpointRecorded(msg.sender, _peerId, block.timestamp); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"string","name":"peerId","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"CheckpointRecorded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"peerId","type":"string"},{"indexed":false,"internalType":"string","name":"newLocation","type":"string"}],"name":"LocationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"string","name":"peerId","type":"string"}],"name":"NodeDeregistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"string","name":"peerId","type":"string"},{"indexed":false,"internalType":"string","name":"locationMultiAddr","type":"string"}],"name":"NodeRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"string","name":"_peerId","type":"string"}],"name":"deregisterNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_peerId","type":"string"}],"name":"recordCheckpoint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_peerId","type":"string"},{"internalType":"string","name":"_locationMultiAddr","type":"string"}],"name":"registerNode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"storageNodes","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"peerId","type":"string"},{"internalType":"uint256","name":"registrationTime","type":"uint256"},{"internalType":"string","name":"locationMultiAddr","type":"string"},{"internalType":"uint256","name":"lastCheckpoint","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_peerId","type":"string"},{"internalType":"string","name":"_newLocation","type":"string"}],"name":"updateLocation","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052348015600e575f80fd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a81603f565b50608e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610bb28061009b5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063cb1668b811610058578063cb1668b8146100e9578063d3983524146100fc578063f2fde38b1461010f578063f6ddac7414610122575f80fd5b80633c950e2614610089578063715018a61461009e5780638da5cb5b146100a6578063ca47e5e8146100c5575b5f80fd5b61009c61009736600461083b565b610135565b005b61009c6101f1565b5f546040516001600160a01b0390911681526020015b60405180910390f35b6100d86100d336600461083b565b610204565b6040516100bc9594939291906108a3565b61009c6100f736600461083b565b610358565b61009c61010a3660046108f1565b61046b565b61009c61011d366004610956565b6105de565b61009c6101303660046108f1565b61061b565b336001600160a01b031660018260405161014f9190610983565b908152604051908190036020019020546001600160a01b03161461018e5760405162461bcd60e51b815260040161018590610999565b60405180910390fd5b4260018260405161019f9190610983565b9081526040519081900360200181206004019190915533907fd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047906101e690849042906109dd565b60405180910390a250565b6101f96106d7565b6102025f610703565b565b805160208183018101805160018083529383019290940191909120929052815490820180546001600160a01b03909216929161023f906109fe565b80601f016020809104026020016040519081016040528092919081815260200182805461026b906109fe565b80156102b65780601f1061028d576101008083540402835291602001916102b6565b820191905f5260205f20905b81548152906001019060200180831161029957829003601f168201915b5050505050908060020154908060030180546102d1906109fe565b80601f01602080910402602001604051908101604052809291908181526020018280546102fd906109fe565b80156103485780601f1061031f57610100808354040283529160200191610348565b820191905f5260205f20905b81548152906001019060200180831161032b57829003601f168201915b5050505050908060040154905085565b336001600160a01b03166001826040516103729190610983565b908152604051908190036020019020546001600160a01b0316146103d85760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420746865206f776e6572206f66207468697320706565724964000000006044820152606401610185565b6001816040516103e89190610983565b90815260405190819003602001902080546001600160a01b03191681555f6104136001830182610752565b600282015f9055600382015f6104299190610752565b600482015f90555050336001600160a01b03167ff0447abbeed9609c9eb8d78d6aaf5bb33ff377ccc06aa10fc949403ab9c19bc6826040516101e69190610a36565b5f6001600160a01b03166001836040516104859190610983565b908152604051908190036020019020546001600160a01b0316146104eb5760405162461bcd60e51b815260206004820152601760248201527f4e6f646520616c726561647920726567697374657265640000000000000000006044820152606401610185565b6040518060a00160405280336001600160a01b031681526020018381526020014281526020018281526020014281525060018360405161052b9190610983565b90815260405160209181900382019020825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061056a9082610a94565b5060408201516002820155606082015160038201906105899082610a94565b5060808201518160040155905050336001600160a01b03167f46406905bae74cf0ddefdf7faf9043b12cf891a01d9c85b17d88c6447fd9cd3483836040516105d2929190610b4f565b60405180910390a25050565b6105e66106d7565b6001600160a01b03811661060f57604051631e4fbdf760e01b81525f6004820152602401610185565b61061881610703565b50565b336001600160a01b03166001836040516106359190610983565b908152604051908190036020019020546001600160a01b03161461066b5760405162461bcd60e51b815260040161018590610999565b8060018360405161067c9190610983565b908152602001604051809103902060030190816106999190610a94565b507f5ce8b14d0bc114fb7e0389871755b1784cc4a79f9ab4f72255535491d7fb5e9c82826040516106cb929190610b4f565b60405180910390a15050565b5f546001600160a01b031633146102025760405163118cdaa760e01b8152336004820152602401610185565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b50805461075e906109fe565b5f825580601f1061076d575050565b601f0160209004905f5260205f209081019061061891905b80821115610798575f8155600101610785565b5090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126107bf575f80fd5b813567ffffffffffffffff8111156107d9576107d961079c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156108085761080861079c565b60405281815283820160200185101561081f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6020828403121561084b575f80fd5b813567ffffffffffffffff811115610861575f80fd5b61086d848285016107b0565b949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038616815260a0602082018190525f906108c690830187610875565b85604084015282810360608401526108de8186610875565b9150508260808301529695505050505050565b5f8060408385031215610902575f80fd5b823567ffffffffffffffff811115610918575f80fd5b610924858286016107b0565b925050602083013567ffffffffffffffff811115610940575f80fd5b61094c858286016107b0565b9150509250929050565b5f60208284031215610966575f80fd5b81356001600160a01b038116811461097c575f80fd5b9392505050565b5f82518060208501845e5f920191825250919050565b60208082526024908201527f596f7520617265206e6f7420746865206f776e6572206f662074686973207065604082015263195c925960e21b606082015260800190565b604081525f6109ef6040830185610875565b90508260208301529392505050565b600181811c90821680610a1257607f821691505b602082108103610a3057634e487b7160e01b5f52602260045260245ffd5b50919050565b602081525f61097c6020830184610875565b601f821115610a8f57805f5260205f20601f840160051c81016020851015610a6d5750805b601f840160051c820191505b81811015610a8c575f8155600101610a79565b50505b505050565b815167ffffffffffffffff811115610aae57610aae61079c565b610ac281610abc84546109fe565b84610a48565b6020601f821160018114610af4575f8315610add5750848201515b5f19600385901b1c1916600184901b178455610a8c565b5f84815260208120601f198516915b82811015610b235787850151825560209485019460019092019101610b03565b5084821015610b4057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b604081525f610b616040830185610875565b8281036020840152610b738185610875565b9594505050505056fea2646970667358221220e8f8993e7bf959425e096dc5bba59c2db7640279e80cee79149b0ef697655ef664736f6c634300081a0033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063cb1668b811610058578063cb1668b8146100e9578063d3983524146100fc578063f2fde38b1461010f578063f6ddac7414610122575f80fd5b80633c950e2614610089578063715018a61461009e5780638da5cb5b146100a6578063ca47e5e8146100c5575b5f80fd5b61009c61009736600461083b565b610135565b005b61009c6101f1565b5f546040516001600160a01b0390911681526020015b60405180910390f35b6100d86100d336600461083b565b610204565b6040516100bc9594939291906108a3565b61009c6100f736600461083b565b610358565b61009c61010a3660046108f1565b61046b565b61009c61011d366004610956565b6105de565b61009c6101303660046108f1565b61061b565b336001600160a01b031660018260405161014f9190610983565b908152604051908190036020019020546001600160a01b03161461018e5760405162461bcd60e51b815260040161018590610999565b60405180910390fd5b4260018260405161019f9190610983565b9081526040519081900360200181206004019190915533907fd32ff0557f45547530c3ca5eb3ea73c585f5e4752beec1d63e39bb187a3a9047906101e690849042906109dd565b60405180910390a250565b6101f96106d7565b6102025f610703565b565b805160208183018101805160018083529383019290940191909120929052815490820180546001600160a01b03909216929161023f906109fe565b80601f016020809104026020016040519081016040528092919081815260200182805461026b906109fe565b80156102b65780601f1061028d576101008083540402835291602001916102b6565b820191905f5260205f20905b81548152906001019060200180831161029957829003601f168201915b5050505050908060020154908060030180546102d1906109fe565b80601f01602080910402602001604051908101604052809291908181526020018280546102fd906109fe565b80156103485780601f1061031f57610100808354040283529160200191610348565b820191905f5260205f20905b81548152906001019060200180831161032b57829003601f168201915b5050505050908060040154905085565b336001600160a01b03166001826040516103729190610983565b908152604051908190036020019020546001600160a01b0316146103d85760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420746865206f776e6572206f66207468697320706565724964000000006044820152606401610185565b6001816040516103e89190610983565b90815260405190819003602001902080546001600160a01b03191681555f6104136001830182610752565b600282015f9055600382015f6104299190610752565b600482015f90555050336001600160a01b03167ff0447abbeed9609c9eb8d78d6aaf5bb33ff377ccc06aa10fc949403ab9c19bc6826040516101e69190610a36565b5f6001600160a01b03166001836040516104859190610983565b908152604051908190036020019020546001600160a01b0316146104eb5760405162461bcd60e51b815260206004820152601760248201527f4e6f646520616c726561647920726567697374657265640000000000000000006044820152606401610185565b6040518060a00160405280336001600160a01b031681526020018381526020014281526020018281526020014281525060018360405161052b9190610983565b90815260405160209181900382019020825181546001600160a01b0319166001600160a01b0390911617815590820151600182019061056a9082610a94565b5060408201516002820155606082015160038201906105899082610a94565b5060808201518160040155905050336001600160a01b03167f46406905bae74cf0ddefdf7faf9043b12cf891a01d9c85b17d88c6447fd9cd3483836040516105d2929190610b4f565b60405180910390a25050565b6105e66106d7565b6001600160a01b03811661060f57604051631e4fbdf760e01b81525f6004820152602401610185565b61061881610703565b50565b336001600160a01b03166001836040516106359190610983565b908152604051908190036020019020546001600160a01b03161461066b5760405162461bcd60e51b815260040161018590610999565b8060018360405161067c9190610983565b908152602001604051809103902060030190816106999190610a94565b507f5ce8b14d0bc114fb7e0389871755b1784cc4a79f9ab4f72255535491d7fb5e9c82826040516106cb929190610b4f565b60405180910390a15050565b5f546001600160a01b031633146102025760405163118cdaa760e01b8152336004820152602401610185565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b50805461075e906109fe565b5f825580601f1061076d575050565b601f0160209004905f5260205f209081019061061891905b80821115610798575f8155600101610785565b5090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126107bf575f80fd5b813567ffffffffffffffff8111156107d9576107d961079c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156108085761080861079c565b60405281815283820160200185101561081f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6020828403121561084b575f80fd5b813567ffffffffffffffff811115610861575f80fd5b61086d848285016107b0565b949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038616815260a0602082018190525f906108c690830187610875565b85604084015282810360608401526108de8186610875565b9150508260808301529695505050505050565b5f8060408385031215610902575f80fd5b823567ffffffffffffffff811115610918575f80fd5b610924858286016107b0565b925050602083013567ffffffffffffffff811115610940575f80fd5b61094c858286016107b0565b9150509250929050565b5f60208284031215610966575f80fd5b81356001600160a01b038116811461097c575f80fd5b9392505050565b5f82518060208501845e5f920191825250919050565b60208082526024908201527f596f7520617265206e6f7420746865206f776e6572206f662074686973207065604082015263195c925960e21b606082015260800190565b604081525f6109ef6040830185610875565b90508260208301529392505050565b600181811c90821680610a1257607f821691505b602082108103610a3057634e487b7160e01b5f52602260045260245ffd5b50919050565b602081525f61097c6020830184610875565b601f821115610a8f57805f5260205f20601f840160051c81016020851015610a6d5750805b601f840160051c820191505b81811015610a8c575f8155600101610a79565b50505b505050565b815167ffffffffffffffff811115610aae57610aae61079c565b610ac281610abc84546109fe565b84610a48565b6020601f821160018114610af4575f8315610add5750848201515b5f19600385901b1c1916600184901b178455610a8c565b5f84815260208120601f198516915b82811015610b235787850151825560209485019460019092019101610b03565b5084821015610b4057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b604081525f610b616040830185610875565b8281036020840152610b738185610875565b9594505050505056fea2646970667358221220e8f8993e7bf959425e096dc5bba59c2db7640279e80cee79149b0ef697655ef664736f6c634300081a0033
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.