1

我正在尝试使用 Quorum 7nodes 创建存储合同,但我遇到了这个问题:错误:数字只能安全地存储最多 53 位

Javascript:

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

坚固合同:

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" },
4

1 回答 1

2

发生此错误是因为 Raft 以纳秒(而不是秒)为单位存储块时间戳,而 Truffle 无法处理此问题。一个简单的解决方案是使用伊斯坦布尔或 Clique 共识。

或者,这里有一个线程描述了如何设置代理来解决这个问题:Quorum Ethereum Truffle) Error: Number can only safe store up to 53 bits

于 2019-05-01T16:19:06.620 回答