How can I calculate the RAM size of a contract in EOSIO? I mean, is there any tool from EOSIO? Could this tool help me to know how much EOS I need to prepare for every contract.
1 Answer
/libraries/chain/include/eosio/chain/config.hpp defines setcode_ram_bytes_multiplier
to 10x the number of bytes of the compiled WASM.
This covers the overhead of the VM and other memory. This is the base amount just for the code.
From here there are other constants you can review:
overhead_per_row_pper_index_ram_bytes = 32 + sizeof(key) + row data for all objects you store in the DB under your contract's name rather than one of your user's names.