2024-04-12|閱讀時間 ‧ 約 22 分鐘

1.15 Operator 算術運算子

    [ 3小問題 ]

    練習題 1

      • 我們如何獲得當前區塊時間?

     block.timestamp

    區塊時間(block timestamp)是指每個區塊在區塊鏈上被創建或挖掘時所記錄的時間戳。它代表了區塊的創建時間或挖掘時間。

    區塊時間是從區塊鏈的創世區塊(genesis block)開始計算的,創世區塊是區塊鏈的第一個區塊,它通常在網路啟動時被創建。從創世區塊開始,每個區塊的時間戳都是基於前一個區塊的時間戳和當前區塊的創建時間來確定的。

    區塊時間戳是以Unix時間的形式表示的,通常是從1970年1月1日UTC時間00:00:00開始計算的秒數。這意味著每個區塊時間戳代表了一個特定的時間點,以秒為單位。

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.24;

    contract myContract {
    function getCurrentBlockTimeStamp() public view returns (uint256){
    return block.timestamp;
    }
    }


    練習題 2

      • 請問 1 hour 在 uint 型別下會回傳多少?

    1 hour 在 uint 型別下會回傳 3600

    // SPDX-License-Identifier: MIT
    pragma solidity 0.8.24;

    contract blockTime{
    // 以下時間皆回傳秒數
    uint256 public second = 1 seconds;
    uint256 public minute = 1 minutes;
    uint256 public hour = 1 hours;
    uint256 public day = 1 days;
    }


    練習題 3

      • 請問 1 ether 是多少 wei?

    1 ether 是 1018 wei

    [Reference]

    1. Solidity 教學: 單位 Unit 運算子 Operators
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.