Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
            页面加载耗时 0.00 毫秒·物理内存 158.0MB ·虚拟内存 1438.3MB
        
        欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
        
        
        Solidity 在智能合约中有三种方式发送 Eth。
transfer:使用 transfer 发送 Eth,会带有 2300 个gas,如果失败,就会 revert。
send:使用 send 发送 Eth,会带有 2300 个gas,并且返回一个 bool 值表示是否成功。
call:使用 call 发送 Eth,会发送所有剩余的 gas,并且返回表示是否成功 bool 值和 data 数据。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SendEther {
    constructor() payable{}
    // 允许接收 Eth
    receive() external payable {}
    function transferEth(address payable _to) external payable {
        _to.transfer(100);
    }
        
    function sendEth(address payable _to) external payable {
        bool success = _to.send(100);
        require(success, "send failed");
    }
    function callEth(address payable _to) external payable {
        (bool success, ) = _to.call{value:100}("");
        require(success, "call failed");
    }
}
contract ReceiveEther {
    event log(uint amount, uint gas);
    // 允许接收 Eth
    receive() external payable {
        emit log(msg.value, gasleft());
    }
}
                        
                        
            
            
            Solidity 自毁函数 selfdestruct 由以太坊智能合约提供,用于销毁区块链上的合约系统。当合约执行自毁操作时,合约账户上剩余的以太币会强制发送给指定的目标,然后其存储和代 ...