![](/img/trans.png)
[英]Send ether from one wallet to another with solidity smart contract?
[英]How to send fixed amount of ether from contract using call function in solidity?
我正在尝试将以太币从合同发送到钱包,当我使用带有 msg.value 的调用 function 时它有效,但是当我尝试发送 1 个以太币而不是 msg.value 时它不起作用。 为什么会这样,如何克服呢? 我正在使用 Remix.io Javascript VM London,这可能是原因吗?
下面这段代码有效:
function sendMoney() public payable {
address payable receiver = payable(0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2);
(bool sent, bytes memory data) = receiver.call{ value: msg.value }("");
require(sent, "Failed to send Ether");
}
但是下面的这段代码不起作用。 我必须发送固定数量的以太币。
function sendMoney() public payable {
address payable receiver = payable(0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2);
(bool sent, bytes memory data) = receiver.call{ value: 1 ether }("");
require(sent, "Failed to send Ether");
}
sendMoney() public payable {
address payable receiver =
payable(0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2);
(bool sent, bytes memory data) = receiver.call{ value: 1 ether }("");
require(sent, "Failed to send Ether");
}
这行得通。 你只需要在 remix 中传递一些“值”,在 1 个以太币将被转移到 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2 之后,你在 remix 中传递的值将被转移到合约余额中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.