There are some aspects of ink! contract storage and data access that I cannot find the answers to in the documentation or by experimentation. Here are my questions...
Is it true that there can be multiple instantiations of the same contract existing simultaneously?
Is it true that any account on the blockchain system can interact with any and all instantiations of a given contract?
Contract storage means that data structures defined under the #[ink(storage)] attribute are stored somehow locally "in" the contract, as opposed to in blocks on the chain. (exactly where is this being stored?)
Contract storage is set to some finite limit when you deploy the contract (or is it set when you instantiate it? )
Does each instantiation have its own storage? (what is the limit on storage per instantiation? and what happens when you run out of storage on the contract instantiation?)
Topics (as defined in Events) are searchable. (but where and how does one search on those topics?)