問題一覧に戻る
中級実践的な機能
問題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;
}
}