智能合约实战 solidity 语法学习 06 [ transfer ]

Posted www_vane

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能合约实战 solidity 语法学习 06 [ transfer ]相关的知识,希望对你有一定的参考价值。

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;

contract HelloTransfer {

    address payable public a1 = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
    address payable public a2 = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB;
    

    //send/transfer 单位是wei 1ether = 10**18 wei
    //transfer更安全
    //向谁转钱,就用谁调用tranfer函数
    //send与tranfer使用方式一致,但是如果转账金额不足不会抛出异常,而是会返回false

    function getBalance() public view returns(uint,uint,uint){

        return (a1.balance,a2.balance,address(this).balance);
    }

    function testTransfer() public payable{

        a1.transfer(10*10**18);
    }
    
}

如果transfer中10ether,在交易金额value中输入20ether

a1只是收到了10个,合约扣了20

那10去哪里了

以上是关于智能合约实战 solidity 语法学习 06 [ transfer ]的主要内容,如果未能解决你的问题,请参考以下文章

智能合约实战 solidity 语法学习 06 [ for循环transfer ] 附代码

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 10 [ BNB合约解读 ] 附代码

智能合约实战 solidity 语法学习 03 [ 数据类型 ]

智能合约实战 solidity 语法学习 09 [ 访问函数getter 合约创建 合约对象 合约继承IS ]