Трюфель / умный контракт Uncaught (в обещании) Ошибка: Внутренняя ошибка JSON-RPC - PullRequest
0 голосов
/ 22 марта 2019

Я получил следующую ошибку при запуске приложения dApp (Truffle) в консоли браузера.

Uncaught (in promise) Error: Internal JSON-RPC error.
at Object.InvalidResponse (inpage.js:1)

Мой код App.js

  handleClick: function (event) {
     event.preventDefault();
     web3.eth.getAccounts(function (error, accounts) {
     if (error) {
       console.log(error);
     }
      var account = accounts[0];
      App.contracts.Rental.deployed().then(function (instance) {
      var rentalInstance = instance;
      var rentId = parseInt($(event.target).data('id'));
      return rentalInstance.getRentals.call();        
      }).then(function (rentals) {             
      console.log(rentals);
     return rentalInstance.rent(rentId, {
      from: accounts[0],
      value: this.state.Web3.toWei(rentals[rentId].price, 'ether')
    });
  });
});       

}

Код до var rentId = parseInt ($ (event.target) .data ('id'));
работает нормально, но после этой строки у меня возникла проблема с получением арендной платы из смарт-контракта.

Мой умный контракт

    pragma solidity ^0.5.0;

    contract Rental {
       address[16] public rentals;
       address public owner;

       constructor() public {
       owner = msg.sender;
    }

       function rent(uint rentalId) public payable returns (uint){
         require(rentalId >= 0 && rentalId <= 15, "");
         rentals[rentalId] = msg.sender;
         return rentalId;
    }

       function getRentals() public view returns (address[16] memory){
         return rentals;
    }
       function getBalance() public view returns (uint){
         return address(this).balance;
    }

       function payday() public view {
       require(msg.sender == owner, "");
    }                               
}
...