This demo was created for the ETHGlobal Waterloo 2023 hackathon and is intended to illustrate a way of building apps on top of a unified data network composed of schema-defined datasets.
Instead of creating a p2p network, this demo simply relies on Arweave for p2p storage of datasets. The goal of this demo is to show how datasets are defined and used to build decentralized apps to serve a variety of use cases. Building apps in this way will enable developers to leverage existing data sets across chains, published to an offchain network, such as Arweave. In the future this may be combined with p2p networking and set reconciliation to enable even more lightweight operation with a wider range of trade-offs. The current demo relies on Arweave for this, but there are likely to be other use cases where more ephemeral storage of datasets is preferable. Farcaster is a good example of such a use case.
In conclusion, I hope to show with this demo, how building offchain allows developers to make a wider range of trade-offs while incorporating elements of blockchain and cryptography where needed to acheive the guarantees required for their use case.
Schemas are defined using JSON schema and schema identifiers are generated using a deterministic hashing function. The identifiers are used to tag data which conforms to to the schema so that it can be discovered in a decentralized network such as arweave.
The UI is a standard nextjs site that queries arweave for data corresponding to the schema ids and renders it.