gas编程实战

作者 : admin 本文共424个字,预计阅读时间需要2分钟 发布时间: 2024-06-16 共1人阅读
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract Gas {
    uint public i = 0;
    uint public remained;
 
    function forever() public {
        while (true) {
            if(i > 100)
                return;
            if(i == 10)
                remained = gasleft();
            i += 1;
        }
    }
}
contract GasCaller{
    address gas;
    constructor(address _gas) public{
        gas = _gas;

    }
    function callForever() public {
        bytes memory cd = abi.encodeWithSignature("forever()");
        (bool suc, bytes memory data) = gas.call{gas: 100000}(cd);
        if(!suc){
            revert("gas not enough");
        }
    }
}

gas编程实战插图
超出gas
gas编程实战插图(1)

本站无任何商业行为
个人在线分享 » gas编程实战
E-->