我正在牢固地使用以下代码将以太币从一个帐户转移到另一个帐户。
我是通过所有者的帐户致电的。
但是我的以太币从所有者那里扣除,转到合同地址,而不是收款人/收款人帐户。
function PayCredit(address payable payee, uint money, uint invoiceNum) public payable{
require(msg.sender==owner, "only owner can invoke it");
payee.transfer(address(this).balance);
claims[payee][invoiceNum].isPayed = true;
}
答案 0 :(得分:1)
您将以太币发送到合同地址,将address(this)
更改为address
。
我建议您将以太币发送到其他帐户的良好做法。 Solidity交易支持值作为参数,这是向其他帐户发送以太币(WEI)的好地方。下面的代码段会将12 WEI发送给其他帐户。
pragma solidity >=0.4.22 <0.6.0;
contract AB {
uint256 num1;
address owner;
constructor() public{
owner = msg.sender;
}
function sendBal(address payable receiver) payable external onlyOwner {
uint256 amount = msg.value;
receiver.transfer(amount);
}