Как исправить ошибку «Ошибка: номер может хранить только 53 бита» в моем скрипте? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь создать договор хранения с узлами Quorum 7, но у меня возникла следующая проблема: Ошибка: Number может безопасно хранить только до 53 бит

Javascript:

 await contract.methods.set(5).send({ from: accounts[0]});

contractв твердости:

pragma solidity ^0.5.0;

contract SimpleStorage {
  uint storedData;

  function set(uint x) public {
    storedData = x;
  }

  function get() public view returns (uint) {
    return storedData;
  }
}

версии:

Truffle v5.0.14 (core: 5.0.14)
Solidity v0.5.0 (solc-js)
Node v10.15.1
Web3js "^1.0.0-beta.52"

трюфель конфигурации:

  nodefour: {
        host: "127.0.0.1",     // Localhost (default: none)
        port: 22003,            // Standard Ethereum port (default: none)
        network_id: 10,       // Any network (default: none)
        gasPrice: 0,
        gas: 4500000,
        type: "quorum" },

1 Ответ

0 голосов
/ 01 мая 2019

Эта ошибка возникает из-за того, что Raft хранит временную метку блока в наносекундах (вместо секунд), а Truffle не может справиться с этим.Простое решение состоит в том, чтобы вместо этого использовать консенсус Стамбула или Клики.

Кроме того, здесь есть тема, описывающая, как настроить прокси-сервер, чтобы обойти эту проблему: Трюфель Кворума Эфириума) Ошибка: номер может толькобезопасно хранить до 53 бит

...