Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 70.6MB ·虚拟内存 1300.5MB
欢迎来到 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 由以太坊智能合约提供,用于销毁区块链上的合约系统。当合约执行自毁操作时,合约账户上剩余的以太币会强制发送给指定的目标,然后其存储和代 ...