blockchain - 将以太币从一个账户发送到另一个账户
问题描述
我正在使用以下代码将以太币从一个帐户转移到另一个帐户。
我是从所有者的帐户中调用的。
但是我的以太币会从所有者那里扣除,然后转到合约地址而不是收款人/收款人账户。
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;
}
解决方案
您正在将您的以太币发送到合约地址,更改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);
}
推荐阅读
- python - Visual Studio 代码:设置容器时出错
- python - 是否有可能用 Python 修复 CSV 逗号问题?
- drake - 如何搜索指南针步态限制周期?
- c# - 分割矩形进行二进制空间分区,不知道如何定位它们
- user-interface - 在 Flutter 上使用 ChangeNotifierProvider 选择另一个选项卡时如何更改 AppBar 颜色?
- python - mysql - django - android的最佳模型是什么?
- django - 多步形式中的 CRUD 操作
- django - Django massmailer - TemplateDoesNotExist
- maven - 从 Jenkins 部署到 mule 服务器期间的问题
- ios - iMessage 应用程序如何调整图像大小并保持该纵横比