ethereum - 警告:不推荐使用从地址类型继承的合约成员“余额”。坚固性
问题描述
警告:不推荐使用从地址类型继承的合约成员“余额”。将合约转换为“address”类型以访问成员,例如使用“address(contract).balance”代替。
我使用 Remix 编辑器在 Solidity 中收到此警告。
这是代码块:
function getSummary() public view returns(
uint, uint, uint, uint, address
){
return (
minimumContribution,
this.balance, // This is the warning line.
requests.length,
approversCount,
manager
);
}
我尝试遵循警告的建议:
function getSummary() public view returns(
uint, uint, uint, uint, address
){
return (
minimumContribution,
address(contract).balance,
requests.length,
approversCount,
manager
);
}
但这不起作用。
解决方案
balance
是address
类型的属性,而不是来自合同。将其更改为address(this).balance
.
function getSummary() public view returns(
uint, uint, uint, uint, address
){
return (
minimumContribution,
address(this).balance,
requests.length,
approversCount,
manager
);
}
推荐阅读
- javascript - 单击时将图标添加到 HTML 按钮
- vba - 在 B 列中搜索值,替换该行的 D 和 E 列
- php - 使用 Ajax 函数更新 html 中的 div 失败
- python - Pandas - 计算 df 中的行数以发现每天的存活率
- php - 有什么方法可以检查迁移是否结束
- node.js - node-mongodb-fixtures 不适用于 mongodb 版本 4
- sql - 查看另一个表空间内的表的数据
- mysql - 如何执行可以访问已发布文件夹之外的 mysql 的程序?
- amazon-web-services - 用户数据脚本未在 AWS CloudFormation 模板上执行
- mysql - (LocalDb)\Server_name 在 Visual Studio 2017 中的连接字符串中显示错误