Я не могу взаимодействовать со своим умным контрактом с myetherwallet, но с ремиксом все нормально - PullRequest
0 голосов
/ 23 июня 2019

Я создал умный контракт, он хорошо работает, когда я вызываю функцию «депозит» с помощью ремикса, но когда я вызываю функцию «депозит» с помощью myetherwallet, возникает ошибка: «Требуемый газ превышает допустимый или всегда провал транзакции»

Я развернул этот контракт в сети Ropsten, адрес контракта: 0xe09173bc458cbb421cf1e8813bedf68522839ef8

исходный код смарт-контракта:

pragma solidity ^0.5.0;
contract Deposit{
    mapping(address=>uint) private balance;
    mapping(address=>bool) private hasDeposit;
    event depositEvent(address addr, uint val, uint48 TeraAcc);
    function deposit(uint48 TeraAccountNum) public payable{
        require(msg.value>=10000000000, "Please deposit more than 10gwei!");
        require(TeraAccountNum!=0, "Please input your tera account!");
        balance[msg.sender] += msg.value;
        hasDeposit[msg.sender]=true;
        emit depositEvent(msg.sender, msg.value, TeraAccountNum);
    }
    function getBalance() view public returns(uint){
        require(hasDeposit[msg.sender]==true, "You haven't deposit yet!");
        return balance[msg.sender];
    }
    function getTotalBalance() view public returns(uint){
        return address(this).balance;
    }
    function() external payable{
        deposit(0);
    }
}

Я ожидаю, что этот контракт будет работать как с remix, так и с myetherwallet, но при вызове функции deposit в myetherwallet всегда возникает ошибка, пожалуйста, помогите.

...