Hello,
I am using "web3": "~1.0.0-beta.26" to make connection to JPMorgan Quorum (https://github.com/jpmorganchase/quorum). Quorum network is configured to use Raft consensus algorithm. Raft algorithm is making changes to block timestamp value, so it is larger (Unix nanoseconds - 1506355254821575394 e.g.) then default - Consensys/quorum#190. Due to this, when I am trying to deploy contract, using WebSocket provider, I receive error from bigNumber.js library:
Error: Number can only safely store up to 53 bits
This error is caused by https://github.com/ethereum/web3.js/blob/develop/lib/web3/formatters.js#L171; looks like Raft timestamp is too big for converting it to the number.
Timestamp value from failing block object:
{
"timestamp": "0x14fe06494f652193"
}
As I understood outputBlockFormatter is only used during WebSocket connection (ws provider), Rpc connection (http provider) is deploying fine. It was OK to use only RPC connection, but, with recent updates, subscription is possible only using WebSocket.
I understand, that nonstandard ethereum networks is not Your main field; however, would be cool to hear some thoughts about this issue.