pragma solidity 0.4.25; pragma experimental ABIEncoderV2; contract storeData { address owner; struct DataBlock { uint256 timestamp; bytes32 hash; } mapping (address => DataBlock[]) public datablocks; constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner, "Only the owner can access this function"); _; } function storeDataHash(address _user, bytes32 _hash) onlyOwner external { DataBlock memory db = DataBlock(now, _hash); datablocks[_user].push(db); } function readDataForUser(address _user) external view returns (DataBlock[]) { return datablocks[_user]; } }
0.4.25