Ich schaue KittyBreeding.sol
und sehe
/// @dev Set the cooldownEndTime for the given Kitty, based on its current cooldownIndex.
/// Also increments the cooldownIndex (unless it has hit the cap).
/// @param _kitten A reference to the Kitty in storage which needs its timer started.
function _triggerCooldown(Kitty storage _kitten) internal {
// Compute the end of the cooldown time (based on current cooldownIndex)
_kitten.cooldownEndTime = uint64(now + cooldowns[_kitten.cooldownIndex]);
aber ich sehe nicht, wo "jetzt" definiert ist, außer in ihremkitty-core.test.js
Wie verfolgt diese DAPP die Zeit, wodurch die Website Timer anzeigen kann?
now
ist eine spezielle Solidity - Variable , die der aktuellen Zeit seit der Epoche in Sekunden entspricht .
Aus der Dokumentation (oben verlinkt):
now (uint): Zeitstempel des aktuellen Blocks (Alias für block.timestamp)
Es ist erwähnenswert, dass Miner manipulieren können now
und sich daher nicht darauf verlassen sollten, wenn es um heikle Dinge wie das Seeding von Pseudo-Zufallszahlengeneratoren geht.
InfinitePrime
Benutzer22075