Overcoming the 64 key-value pair limit in global state

Context: I have a voting application with 1,000 voting options, meaning the voters have 1,000 options to choose from.

Problem: The global state is limited to only 64 key-value pairs, I want to get around this.

My first thought was to create 64 accounts and rekey them to the smart contract. Then I can use their local state as a “global state”. If every account has up to 16 key-value pairs for local state, then I would have 16 * 64 - 64 = 960 key-value pairs total.

Question 1) Is this approach feasable?
Question 2) Are there any better ways to do this? Perhaps a technique that allows me to fit over 2,000 options?

You may be interested to read this document: wormhole/MEMORY.md at algo/integration · certusone/wormhole · GitHub

That said the design for unlimited or box storage is in progress this quarter


1 Like