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

Ben

Hey please tell me if this solved your issue of storage?
And how?

The up to date link is:

This is currently the best option if you cannot wait for boxes that should come soon and bring unlimited global storage to Algorand.