Solidity - 无法将固定值转移到合约

问题描述

我正在处理 Solidity 合约,但我找不到将预定义值从外部地址存入合约的方法。这是我正在使用的测试代码:

pragma solidity 0.5.12;

contract Payment {

    mapping(address => uint256) public balances;

    address payable wallet;

    constructor(address payable _wallet) public {
        wallet = _wallet;
    }

    function buyToken() public payable {
        balances[msg.sender] += 1;

        wallet.transfer(0.1 ether);

    }

    function () payable external{}

    function getContractBalance() public view returns(uint) {
        return address(this).balance;
    }

}

在 Remix 中,如果我使用 msg.value 它工作正常。我使用地址“1”部署合约,然后使用地址“2”,然后执行buyToken(),因此 1 个以太币(来自 Remix 测试表单)从地址“2”发送到地址“1”。如果我使用固定值(如 0.1 ether),它就不起作用。

我想要的是人们可以在合约中存入固定数量的 ETH(实际上是 TRON,但代码是相同的)。

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)