are there some testRPC limitations? I'm frequently experiencing "out of gas" exceptions for contracts with moderate amount of methods. For example, let's have contract:
contract TestSize{
event Test1(uint param1, string param2); function test1(uint param1, string param2){ Test1(param1, param2);}
event Test2(uint param1, string param2); function test2(uint param1, string param2){ Test2(param1, param2);}
event Test3(uint param1, string param2); function test3(uint param1, string param2){ Test3(param1, param2);}
...
event Test87(uint param1, string param2); function test87(uint param1, string param2){ Test87(param1, param2);}
}
This contract deploys on testRPC with truffle without problems, gas used is 6614230.
However, when I add one additional line with test88/Test88:
contract TestSize{
event Test1(uint param1, string param2); function test1(uint param1, string param2){ Test1(param1, param2);}
event Test2(uint param1, string param2); function test2(uint param1, string param2){ Test2(param1, param2);}
event Test3(uint param1, string param2); function test3(uint param1, string param2){ Test3(param1, param2);}
...
event Test87(uint param1, string param2); function test87(uint param1, string param2){ Test87(param1, param2);}
event Test88(uint param1, string param2); function test88(uint param1, string param2){ Test88(param1, param2);}
}
the deployment ends with out of gas exception, basically consuming whatever amount of gas I give it:
eth_sendTransaction
Transaction: 0x5b838c29352638fc360302f9b15920359feb4d107837684e2ff2a4637e2c2c89
Contract created: 0x7703276d61ff3a1e081d1ed1d3bbf1738cb0d554
Gas usage: 9000000000
Block Number: 24
Block Time: Thu Jan 25 2018 19:12:53 GMT+0100 (CET)
Runtime Error: out of gas
Any ideas? It seriously limits development of even a bit larger contracts.