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