A shared grocery list that demonstrates storing private shared state on chain
This project uses Sunscreen's FHE + testnet to create a private shared bookkeeping system. The clients are on mobile, which maximizes reach and allows for future extensions such as push notifications (think voting for multisigs).
Users start by adding a new line item to the system, currently it is just a name. Other users can then update the count for this item. Currently, item counts are encrypted with the network public key, which means outside of the trusted validators no one can decrypt this data when it is stored on chain.
The project uses the Parasol starter to create a simple voting Solidity contract. Forge creates rust bindings for the contracts, and UnifyRS is used to generate Swift bindings from this code. Extensive work went into getting Sunscreen and the Parasol starter to compile on iOS, to build a functional mobile client.