Dapps
CryptoKitties 如何追踪時間?
我在
KittyBreeding.sol
看/// @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]);
但我看不到“現在”的定義,除了他們的
kitty-core.test.js
這個 DAPP 如何跟踪時間,讓網站顯示計時器?
now
是一個 Solidity特殊變數,它等於自紀元以來的目前時間,以秒為單位。從文件(上面連結):
now (uint): 目前區塊時間戳(block.timestamp 的別名)
值得注意的是,礦工可以操縱
now
,因此不應依賴它來處理任何敏感的事情,例如播種偽隨機數生成器。