# Is there a form of mapping with an even larger space?

I understand from here that the space for mapping() is drawn from a size of 2^256 * 32 bytes storage, which provides a 1 chance in 10^69 of overwrites. If I'm working with contracts on the order of 10^100, is there a bigMapping() function that could be used for bigger map spaces?

I'm imagining an implementation like this https://mikemcl.github.io/bignumber.js/ for arbitrary precision.

• What do you mean by "If I'm working with contracts on the order of 10^100?" – Rob Hitchens Nov 13 '18 at 20:00
• I'd like to have 10^100 elements in my map. – Mittenchops Nov 13 '18 at 20:01
• You really don't want to do that. It's simply too many to be sensible. If you would like to store a reasonable quantity of very precise numbers, or even very complex objects, that would be feasible. – Rob Hitchens Nov 13 '18 at 20:44
• I understand it is not conventional, but suppose I mean exactly this and do have a sense to it. It's not possible in solidity is the answer? – Mittenchops Nov 13 '18 at 20:58
• You could use two contracts which will give you 2^256*32 + 2^256*32 = 2^257*32 bytes of storage. Unfortunatelly you cannot use 2^256 contracts because contracts are indexed by address which is only 20 bytes. The maximum total storage by Ethereum is then 2^160 * 2^257*32 = 2^416*32 bytes. But you could deploy another blockchains! – Ismael Nov 13 '18 at 21:47