ligo/gitlab-pages/docs/advanced/timestamps-addresses.md
2019-12-31 14:23:51 +01:00

1.8 KiB

id title
timestamps-addresses Timestamps, Addresses

Timestamps

Timestamps in LIGO, or in Michelson in general are available in smart contracts, while bakers baking the block (including the transaction in a block) are responsible for providing the given current timestamp for the contract.

Current time

You can obtain the current time using the built-in syntax specific expression, please be aware that it's up to the baker to set the current timestamp value.

const today: timestamp = now;

Timestamp arithmetic

In LIGO, timestamps can be added with int(s), this enables you to set e.g. time constraints for your smart contracts like this:

In 24 hours

const today: timestamp = now;
const one_day: int = 86400;
const in_24_hrs: timestamp = today + one_day;

24 hours ago

const today: timestamp = now;
const one_day: int = 86400;
const in_24_hrs: timestamp = today - one_day;

Comparing timestamps

You can also compare timestamps using the same comparison operators as for numbers:

const not_tommorow: bool = (now = in_24_hrs)

Addresses

address is a LIGO datatype used for Tezos addresses (tz1, tz2, tz3, KT1, ...).

Here's how you can define an address:

const my_account: address = ("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx": address);