I have heard in many places that Tezos is making use of a specific kind of container called BigMap in order to store data inside a smart contract.
The object must be relatively complex because so far only one BigMap instance is allowed within a single smart contract.
My questions are the following:
- What are BigMap's and how do they differ from the other standard types of containers? (I did not find any info on BigMap in the Tezos documentation)
- Why is there a limitation to a single one in a smart contract?
- What would be the advantage of having more than one? (as a matter of fact, I see that there is currently WIP to lift this constraint, see this gitlab issue)