实验3.2 合约转账和余额查询
《不受嗟来之食》选自《礼记·檀弓》。原意是不接受别人虚荣假意,伤人尊严的施舍,尽管自己会被活活饿死。民国散文家朱自清宁可贫病而死也不接受美国的救济粮。在Solidity中,合约也是自有规则的,它也不会随意地接受别人的“施舍”。因为它也深知并不是所有的“施舍”都是友善的,有的只是为了改写合约,破坏规则罢了。
实验目的
1. 明白向合约转账的条件。
2. 知道如何返回该合约的余额,体会版本的变动对this的改变。
实验要求
1. 请你不修改编译版本,使得getBalance函数成功调取该合约的余额。
2. 完成getBalance的方法后。请你尝试在部署页面的VALUE处输入1 ether,再调用pay函数,查看是否成功向该合约转账。如果失败,请根据错误提醒,完善pay函数的代码逻辑。使之能成功转帐。思考pay函数所缺的修饰词的作用。
以下是本次实验所使用到的测试代码,请使用remix编辑器完成该实验
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract payableTest{
function pay() public{
}
function getBalance() public view returns(uint){
return this.balance;
}
}
下面是本次实验所配套的视频教程: