What does the timestamp in a transaction represent? Is it the timestamp when tx was first received by the leader, is it the timestamp when the tx was confirmed, or something else?
1 Answer
A transaction technically inherits it's timestamp from the block in which it was included, it doesn't natively have one. A Solana block does not include a timestamp either though. The reason it would appear to be the case is because most block explorers and other ui tools usually show one for both txs and blocks. The way they get this timestamp is using the getBlockTime
RPC call, which returns an estimate. How is this estimate calculated? Taking from the docs linked above:
Each validator reports their UTC time to the ledger on a regular interval by intermittently adding a timestamp to a Vote for a particular block. A requested block's time is calculated from the stake-weighted mean of the Vote timestamps in a set of recent blocks recorded on the ledger.