問題一覧に戻る
中級実践的な機能
問題66: Blockオブジェクト

Solidityのblockグローバルオブジェクトを学習します - ブロックチェーンの状態情報へのアクセスです。block.numberは現在のブロック番号を返し、block.timestampは秒単位のUnixタイムスタンプを提供します。これらの値は時間ベースのロジック、イベントの順序付け、タイムスタンプの作成に重要です。ただし、block.timestampはマイナーによって制限内で操作可能なので、重要なランダム性には使用しないでください。ブロックプロパティの理解は時間ロックコントラクト、期限の実装、DeFiプロトコルでの監査証跡の作成に不可欠です。

pragma solidity ^0.8.0;

contract BlockInfo {
uint256 public lastBlock;
uint256 public lastTime;

function recordBlock() public {
// ブロック番号を記録
lastBlock = ;

// タイムスタンプを記録
lastTime = ;
}

// 新しいブロックかチェック
function isNewBlock() public view returns (bool) {
return > lastBlock;
}
}