《不受嗟来之食》选自《礼记·檀弓》。原意是不接受别人虚荣假意,伤人尊严的施舍,尽管自己会被活活饿死。民国散文家朱自清宁可贫病而死也不接受美国的救济粮。在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;
   }
}


下面是本次实验所配套的视频教程: