繁体   English   中英

无法发送以太币到合约

[英]Unable to send ether to contract

我是 Solidity 的新手,我正在尝试构建一个简单的智能合约并在此过程中探索 solidity。 可以在不输入值的情况下编译以下构建,但是当我尝试在其中输入一些值时,它会显示以下错误。

交易已恢复至初始state。注意:被叫function需要支付,如果您发送价值,您发送的价值应小于您当前的余额。 调试事务以获取更多信息。

代码:

pragma solidity ^0.8.0;

contract SimpleBank {
    string public name;
    address public owner;
    mapping (address => uint256) public funds;
    address[] public funders;
    constructor() {
        owner = msg.sender;
    }
    modifier onlyOwner{
        require(msg.sender == owner);
        _;
    }
    function getBalance() public view returns (uint256){
        return owner.balance;
    }
    function getAddress() public view returns(address){
        return owner;
    }
    function RecieveMoney() public payable{
        funds[msg.sender] += msg.value;
        funders.push(msg.sender);
    }
}

好吧,它对我有用。

在此处输入图像描述

您是否在发送交易之前指定要发送的余额金额?

您可能在应付字段中输入的金额大于您帐户的当前余额。 代码中没有错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM