Blockchain 稳固性:作为成员获取错误“;余额”;在参数相关查找后找不到或不可见
我正在尝试编写一个去中心化的应用程序来购买音乐会门票。由于某种原因,part owner.transfer(this.balance)一直给我错误信息。而且因为solidity有太多的版本,所以我找不到适合我的版本。请帮我做这件事。多谢各位 错误信息Blockchain 稳固性:作为成员获取错误“;余额”;在参数相关查找后找不到或不可见,blockchain,ethereum,solidity,decentralized-applications,Blockchain,Ethereum,Solidity,Decentralized Applications,我正在尝试编写一个去中心化的应用程序来购买音乐会门票。由于某种原因,part owner.transfer(this.balance)一直给我错误信息。而且因为solidity有太多的版本,所以我找不到适合我的版本。请帮我做这件事。多谢各位 错误信息 Getting error as Member “balance” not found or not visible after argument-dependent lookup. Use address(this).balance to acc
Getting error as Member “balance” not found or not visible after argument-dependent lookup. Use address(this).balance to access address owner.transfer(this.balance)
坚固性代码
pragma solidity 0.6.6;
contract Event {
address owner;
uint public tickets;
string public description;
string public website;
uint constant price = 0.01 ether;
mapping (address => uint) public purchasers;
constructor(uint t, string memory _description, string memory _webstite) public {
owner = msg.sender;
description = _description;
website = _webstite;
tickets = t;
}
// function () payable {
// buyTickets(1);
// }
function buyTickets(uint amount) public payable {
if (msg.value != (amount * price) || amount > tickets) {
revert();
}
purchasers[msg.sender] += amount;
tickets -= amount;
if (tickets == 0) {
owner.transfer(this.balance);
}
}
function refund(uint numTickets) public {
if (purchasers[msg.sender] < numTickets) {
revert();
}
msg.sender.transfer(numTickets * price);
purchasers[msg.sender] -= numTickets;
tickets += numTickets;
}
}
转账只能用于应付地址。 尝试如下
address payable owner;
...
owner.transfer(address(this).balance);
address payable owner;
...
owner.transfer(address(this).balance);