Solidity
區塊鏈中的時間如何運作?
我希望這個問題還不錯,但這是我一直難以理解的問題。區塊鏈中的時間是如何工作的,我如何利用諸如此類
block.timestamp
的變數?我正在創建一個水龍頭,使用者可以在其中提取一定數量的乙太幣,然後他們必須等待一個小時才能提取更多。重複編輯:我在 StackExchange 上查看了其他解釋,但它沒有回答我的問題。我想知道時間是如何在區塊鏈上傳遞的,並利用這些知識利用 block.timestamp。如果我不清楚,我很抱歉。我是創建 Dapps 的初學者,並且想學習!:)
應該顯示該塊被開采的
block.timestamp
大致時間。但這只是一個近似值,它取決於在其上工作的機器的時鐘精度,礦工也可以對其進行修改。因此,這不是一個非常安全的時間度量,但對於您的案例來說應該是好的。block.timestamp (uint):目前區塊時間戳,自 unix 紀元以來的秒數。
你可以這樣做:
mapping(address => uint) startTime; function start() { startTime[msg.sender] = now; } function hasElapsed() constant return (bool) { if (now >= startTime[msg.sender] + 60 minutes) { // 60 minutes has elapsed from startTime[msg.sender] return true; } return false; }