简体   繁体   English

使用 Truffle 部署合约的 53 位问题

[英]Problems about 53 bits deploying contracts with Truffle

I am trying to deploy a Smart Contract with truffle 5.1.19 as follows:我正在尝试使用 truffle 5.1.19 部署智能合约,如下所示:

pragma solidity 0.5.16;

contract Simple {

string public message;

function Hello(string memory _initialMessage) public {

    message = _initialMessage;

}

function setMessage(string memory _newMessage) public {

    message = _newMessage;

 }

}

When I run a truffle deploy --network mired I have the next error:当我运行 truffle deploy --network mired 时,出现下一个错误:

  Error: Number can only safely store up to 53 bits

at assert (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/bn.js/lib/bn.js:6:1)

at BN.toNumber (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/bn.js/lib/bn.js:506:1)

at Object.hexToNumber (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-utils/src/utils.js:234:1)

at Method.outputBlockFormatter (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-core-helpers/src/formatters.js:236:1)

at Method.web3.eth.getBlock.method.outputFormatter (/usr/local/lib/node_modules/truffle/build/webpack:/packages/interface-adapter/dist/shim/overloads/ethereum.js:37:1)

at Method.formatOutput (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-core-method/src/index.js:163:1)

at sendTxCallback (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-core-method/src/index.js:473:1)

at /usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-core-requestmanager/src/index.js:147:1

at /usr/local/lib/node_modules/truffle/build/webpack:/packages/provider/wrapper.js:112:1

at XMLHttpRequest.request.onreadystatechange (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/web3-providers-http/src/index.js:96:1)

at XMLHttpRequestEventTarget.dispatchEvent (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:1)

at XMLHttpRequest._setReadyState (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/xhr2-cookies/dist/xml-http-request.js:208:1)

at XMLHttpRequest._onHttpResponseEnd (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/xhr2-cookies/dist/xml-http-request.js:318:1)

at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/truffle/build/webpack:/node_modules/xhr2-cookies/dist/xml-http-request.js:289:47)

at IncomingMessage.emit (events.js:203:15)

at endReadableNT (_stream_readable.js:1145:12)

at process._tickCallback (internal/process/next_tick.js:63:19)

Truffle v5.1.19 (core: 5.1.19)

Node v10.19.0

My truffle-config for my network is the next one:我的网络的 truffle-config 是下一个:

 mired: {

  host: "10.xxx.xxx.xxx",

  port: 8080,             // Custom port

  network_id: "*",       // Custom network

  gas: 0,           // Gas sent with each transaction (default: ~6700000)

  gasPrice: 0x0,  // 20 gwei (in wei) (default: 100 gwei)

  from: "0x8...............",        // Account to send txs from (default: accounts[0])

  // websockets: true        // Enable EventEmitter interface for web3 (default: false)

},

Doing a downgrade of my truffle to the 4.1.15 version this error dissapears but I don't understand why with an actual version, this error appears.将我的松露降级到 4.1.15 版本时,此错误消失,但我不明白为什么在实际版本中会出现此错误。 Thanks in advance提前致谢

If you are working with quorum like it is my case.如果您正在使用法定人数,就像我的情况一样。 On truffle-config.js, you have to write type:"quorum" and it solves the problem.在 truffle-config.js 上,您必须编写 type:"quorum" 并解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM