Chainlink Timestamp Verification Flow - FatherTimeSDKP/CEN- GitHub Wiki
Chainlink Timestamp Verification Flow
Overview
The Chainlink Timestamp Verification Flow provides immutable, decentralized proof of authorship and license issuance timestamps for the FTPOnChainLicense1155 NFT contract. By leveraging Chainlink oracles, each mint event is anchored to a reliable external timestamp, ensuring transparent and verifiable licensing records aligned with Donald Paul Smith’s TimeSeal framework.
Key Components
-
Chainlink Oracle:
A decentralized oracle network that provides trusted off-chain data (timestamps) to smart contracts. -
Timestamp Request Event:
Emitted when the NFT license minting process initiates a timestamp request. -
Timestamp Fulfillment Callback:
The oracle’s asynchronous response delivering the verified timestamp on-chain. -
On-chain Event Emission:
Emits events for both request and fulfillment phases, allowing external tracking and verification.
Flow Diagram
-
Mint Initiation:
The user calls the mint function on theFTPOnChainLicense1155
contract. -
Timestamp Request:
The contract sends a request to the Chainlink oracle to obtain the current block’s off-chain timestamp. -
Oracle Processing:
The Chainlink node queries trusted external time sources and generates a cryptographically secure timestamp. -
Timestamp Fulfillment:
The Chainlink oracle calls back the contract with the verified timestamp. -
Event Emission:
The contract emits aTimestampFulfilled
event including the token ID, recipient address, and timestamp. -
Off-chain Verification:
External services or dApps listen for these events to confirm and display timestamp proof for NFTs minted.
Solidity Event Examples
event TimestampRequested(bytes32 indexed requestId, uint256 indexed tokenId, address indexed to);
event TimestampFulfilled(bytes32 indexed requestId, uint256 indexed tokenId, address indexed to, uint256 timestamp);