我正在尝试将存储在智能合约中的部分资金转移到一个调用该函数(msg.sender)的帐户以外的帐户。我的功能非常像这样:
function getFunds(address addr, uint amount) public {
require (address.this(balance)>= amount);
addr.transfer(amount);
}
在Truffle中编译时得到的是:
在地址中依赖于参数进行查找之后,找不到或看不到成员“传输”。
好像在结构中寻找成员。
感谢您的帮助。
答案 0 :(得分:1)
由于坚固度为0.5的地址应为payable
才能将eth传送给他们
function getFunds(address payable addr, uint amount) public {
require (address.this(balance)>= amount);
addr.transfer(amount);
}
对于结构的映射,您可以这样使用
contract testContract {
mapping(uint256 => test) testAddressMapping;
struct test {
address payable testAddress;
}
function testFunction() external{
testAddressMapping[0].testAddress.transfer(100);
}
}