solidity入门学习——转账

一、外部账户转入合约地址账户的操作。首先我们定义一个pay方法,同时加上修饰词payable,同时把需要转账的金额在右边value交互窗进行输入,比如输入1000000(默认单位是威),然后通过调用函数getMoney,返回合约地址的余额,注意的是版本0.5开始需要使用,address(this).balance,直接使用this.balance是不行的。在图片中,我们在2处点击之后,通过点击3处的getMoney按键之后,1处的合约地址的余额变成了1000000威。
在这里插入图片描述

pragma solidity^0.5.0;
contract Pay{
    function pay() public payable{
        }
    function getMoney()public view returns(uint){
        return address(this).balance;
    }
}

二、外部账户之间的转账操作。首先我们定义一个transfer方法,然后把虚拟的账户2作为被转入方,address payable account=0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;这个地方account前面务必加上payable,如同在方法后面加payable进行修饰类似。通过msg.value把转账金额进行传递,本例中,我们向账户2还是转1000000威,在完成transfer操作后,点击getMoney,显示账户2账户余额笔原先多了1000000威(原先是100ETH).
在这里插入图片描述

pragma solidity^0.5.0;
contract Pay{
    function transfer() public payable{
        address payable account=0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
        account.transfer(msg.value);
    }
     function getMoney()public view returns(uint){
        address payable account=0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C;
        return account.balance;
    }
}
发布了8 篇原创文章 · 获赞 2 · 访问量 2887

猜你喜欢

转载自blog.csdn.net/qinmiaofu/article/details/103971953