ethereum eth transfer

本文介绍了一个基于Solidity的智能合约示例,展示了如何通过不同方式从合约向外部地址转账以太币,包括直接转账、使用send函数等,并提供了查询合约余额的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract SendEther {
    address to = 0xDd17d10B2D08E4036aEe485f8d586bD6aDdB8203;

    //将调用者msg.sender的ETH 转到固定的 to 外部地址
    function sendViaTransfer() public payable {
        // This function is no longer recommended for sending Ether.
        payable(to).transfer(msg.value); //contract
    }

    //将调用者msg.sender的ETH 转到 to 外部地址
    function sendViaTransfer1(address payable _to) public payable {
        // This function is no longer recommended for sending Ether.
        _to.transfer(msg.value); //contract
    }
	//给合约转ETH
    function sendViaTransferContract() public payable {
        // This function is no longer recommended for sending Ether.
        payable(address(this)).transfer(msg.value); //contract
    }

    //将合约地址的ETH转账到调用的钱包地址
    function transferTo(uint256 wad) public returns (bool) {
        payable(msg.sender).transfer(wad);
        return true;
    }

    //将合约地址的ETH转账到指定钱包地址
    function transferTo(address payable _to, uint256 wad)
        public
        returns (bool)
    {
        _to.transfer(wad);
        return true;
    }

    function sendViaSend() public payable {
        // Send returns a boolean value indicating success or failure.
        // This function is not recommended for sending Ether.
        bool sent = payable(to).send(msg.value);
        require(sent, "Failed to send Ether");
    }

    //给合约地址与外部地址同时转账 如果在调用此函数时,附带了10Wei,那么就会给account账户转移10Wei,给合约账户转移10Wei
    function transfer3() public payable {
        payable(to).transfer(10);
    }

    //合约接收 Ether 的合约必须至少具有以下功能之一
    // Function to receive Ether. msg.data must be empty
    receive() external payable {}

    // Fallback function is called when msg.data is not empty
    fallback() external payable {}
	
	//查询以太坊余额
    function getBalance() public view returns (uint256) {
        return address(this).balance;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值