I'm working on a private blockchain and I found out that I cannot deploy a contract larger than 34Kb which is pretty limiting for me. For comparision, cryptokitties are 40-47Kb so I cannot even deploy digital kitties!
Here is part of my chains.json
that corresponds to the gas limits:
"params": {
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID": "0x2323",
"gasLimitBoundDivisor": "0x400"
},
"genesis": {
"seal": {
"authorityRound": {
"step": "0x0",
"signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
},
"difficulty": "0x20000",
"gasLimit": "0x165A0BC00"
},
If I understand that correctly I have a limit 0x165A0BC00
which seems to be pretty big and non-limiting. However, in practice it doesn't work.
How can I enhance network settings to make it possible to upload contracts up to 50-60Kb? I currently send 4600000 gas for every transaction.
Error when I'm trying to supply more gas:
Message: Nethereum.JsonRpc.Client.RpcResponseException : Transaction cost exceeds current gas limit. Limit: 4700000, got: 46000000. Try decreasing supplied gas.
When I'm supply regular amount of gas
Message: Nethereum.RPC.Eth.Exceptions.ContractDeploymentException : Code not deployed succesfully
0x165A0BC00
is 6 billion in decimal: this is more then enough and I suspect your error is elsewhere. Could you add more details of encountered errors?