Solidity-031 LoopExample

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

/**

 * @title ForLoopExample

 * @dev This Solidity smart contract demonstrates the use of a for loop to store and emit Ethereum block numbers as events.

 * It includes a mapping to store block numbers indexed by their order, a counter to keep track of the stored block numbers, and an event to log these block numbers.

 */

contract ForLoopExample {

    // Mapping to store block numbers with their corresponding index.

    mapping(uint => uint) blockNumber;

    // Counter to keep track of the number of block numbers stored.

    uint counter;

    // Event to log the block numbers.

    event uintNumber(uint);

    /**

     * @dev Function to add the current block number to the mapping and increment the counter.

     */

    function setNumber() public {

        // Store the current block number in the mapping and increment the counter.

        blockNumber[counter++] = block.number;

    }

    /**

     * @dev Function to retrieve and emit all stored block numbers.

     */

    function getNumbers() public {

        // Loop through the stored block numbers and emit them as events.

        for (uint i = 0; i < counter; i++) {

            emit uintNumber(blockNumber[i]);

        }

    }

}

//Deploy:

Solidity-031 LoopExample_第1张图片

你可能感兴趣的:(区块链,智能合约,信任链,去中心化,分布式账本)