How to fix " Error: Number can only safely store up to 53 bits" in my script?
How to fix " Error: Number can only safely store up to 53 bits" in my script?
我正在尝试与 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" },
出现这个错误是因为Raft以纳秒(而不是秒)为单位存储块时间戳,而Truffle无法处理这个问题。
一个简单的解决方案是改用 Istanbul 或 Clique 共识。
或者,这里有一个线程描述了如何设置代理来解决这个问题:
我正在尝试与 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" },
出现这个错误是因为Raft以纳秒(而不是秒)为单位存储块时间戳,而Truffle无法处理这个问题。 一个简单的解决方案是改用 Istanbul 或 Clique 共识。
或者,这里有一个线程描述了如何设置代理来解决这个问题: