Solidity
Start 和 endblock 函式 Reverted Transactions
我正在嘗試創建一個功能,該功能允許使用者僅在特定塊號之間購買代幣,從而恢復所有其他嘗試在這些塊號之後或之前購買的交易,基本上是一個打開和關閉購買的計時器,我遇到了問題功能不起作用,而不是讓我在區塊之間購買,合約不會讓我在任何時候購買交易總是失敗,(被還原)乙太永遠不會被轉移,甚至永遠不會離開我的錢包。在 Ropsten 測試網上進行測試。
乙太坊中的時間戳是一個秒時間戳,即自紀元(01/01/1970)以來經過的秒數。您指定的時間戳,即
uint public startBlock = 1516220; uint public endBlock = 1516240;
給 startBlock 賦值為 1970 年 1 月 18 日 13:10:20 +0000
and endBlock as
1970 年 1 月 18 日 13:10:40 +0000`。(在編寫 ans 時,時間戳為 1503356016 秒)。所以這是一個提供價值的問題。您可以指定 startBlock 值作為
now ()
返回目前塊的時間戳。也在這一行
uint tokens = safeDiv(safeMul(msg.value * 1.01 ether, getPrice()), 1000000000000000000 ether);
Msg.value 僅給出以 ether 為單位的值,即
value entered*10^18
. 所以不需要寫 msg.value* 1.01 ether(也是為什麼 1.01 ether)。startBlock=block.timestamp
這將給出開始塊的目前時間戳。對於端塊,做
endBlock= startBlock + noOfSec
眾籌開始後執行的
noOfSec
總秒數是多少