Резервная функция в солидности - PullRequest
0 голосов
/ 18 мая 2018

Пытался создать простой кошелек с функцией отката, но все же
Ошибка виртуальной машины: вернуться.Примечание. Конструктор должен быть платным, если вы отправляете значение.Почему?

pragma solidity ^0.4.0;
contract MyWallet
  {
      struct account
       {
        uint balance;
        uint dailyLimit;
       }

      mapping (address =>account) _accounts;
      //created  this fallback payable function
    function () payable {
         _accounts[msg.sender].balance+=msg.value;
       }  

      //to get balance
    function getBalance() returns (uint){
        return _accounts[msg.sender].balance;
       }

 }

1 Ответ

0 голосов
/ 18 мая 2018

Вы получаете эту ошибку, потому что вы пытаетесь вызвать явную функцию, которая не подлежит оплате.Сообщение об ошибке будет появляться, если вы отправляете эфир во время развертывания, и в contstructor отсутствует payable, или если вы инициируете транзакцию с помощью определенной функции, которая не помечена как payable.Чтобы вызвать функцию отката, вы должны отправить транзакцию, в которой поле data (которое описывает, что будет вызвано) будет пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...