I am running a local 3-node Quorum cluster with Raft consensus. The network is setup using quorum-maker. All the settings are default except that I have added a custom account in the script so that it would have an initial balance. Now, when I try to estimate the gas requirement for balance transfer from one account to another the I am getting an estimate equal to the block gas limit (around 3745281699), and not 21000 as it is supposed to be. I would like to transfer ether using web3js, but the transaction fails due to this high gas value. How do I solve this?
Details:
Quorum Maker start script:
geth --verbosity 6 --datadir qdata --raft --nodiscover --networkid 41418 --rpc --rpcaddr 0.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum,raft --emitcheckpoints --raftport 22003 --rpcport 22000 --port 22001 --nat extip:10.50.0.2
Get Balance:
$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xE2F384B526C57309e7798B9E8455BF05bE89A465", "latest"],"id":1}' http://10.50.0.2:22000
> {"jsonrpc":"2.0","id":1,"result":"0x446c3b15f9926687d2c40534fdb564000000000000"}
(There is sufficient balance in the account)
Gas Estimate:
curl -X POST --data '{ "jsonrpc":"2.0", "id":2, "method":"eth_estimateGas", "params":[ { "to":"0xE2F384B526C57309e7798B9E8455BF05bE89A465", "value":"0x21e19e0c9bab2400000", "from":"0x7798673316D6028b7fF2CF7369aa658276e5C1C5" } ] }' http://10.50.0.2:22000
> {"jsonrpc":"2.0","id":2,"result":"0xdf3c76a3"}
Version details:
Geth
Version: 1.7.2-stable
Git Commit: df4267a25637a5497a3db9fbde4603a3dcd6aa14
Quorum Version: 2.0.2
Architecture: amd64
Network Id: 1
Go Version: go1.10.2
Operating System: linux
GOPATH=
GOROOT=/usr/local/go
genesis.json:
{
"config": {
"chainId": 94296,
"homesteadBlock": 0,
"eip155Block": null,
"eip158Block": null,
"isQuorum": true
},
"alloc" : {
"0xe2f384b526c57309e7798b9e8455bf05be89a465": {"balance": "100000000000000000000000000000000000000000000000000"},
"0xba8c30067f81fcf9b1e614128ea3f4153402c09c":{"balance":"100000000000000000000000000000000000000000000000"},"0xfcd6447746961686f4b5bfef6ba6c2c17276cc1b":{"balance":"100000000000000000000000000000000000000000000000"},"0x2f617e31cfe83d0843674733db0d87a5ae76bd6f":{"balance":"100000000000000000000000000000000000000000000000"}
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x0",
"extraData" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit" : "0xE0000000",
"nonce" : "0x0",
"mixhash" : "0x00000000000000000000000000000000000000647572616c65787365646c6578",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
The estimates return correct values in ganache. Why is the gas estimate of Quorum different, and what can I do to enable HDWalletProvider to transfer ethers?