πŸ’‘ Unidata: Providing Easy Access to Human-Friendly Web3Β Data.
0xcf6D
May 7th, 2022

The beauty of Web3 is that everyone owns their data. However due to blockchain technology's inefficient design, combined with a lack of specification standards, accessing and presenting your own or your users' Web3 data is an extremely difficult task. That's why I made the open-source project Unidata, to give Web3 developers easy access to human-friendly Web3 data.

Ethereum NFT data is by far the most commonly used data in Web3, so I will use Ethereum NFT as an example.

  1. Ethereum NFT uses the EIP-721 standard and its data format is very "flexible". For example, an NFT image may use various inconsistent fields such as image image_url or animation_url depending on the publisher's preference, or it may not even be an image at all, but a video, a 3D model, etc., which causes a lot of problems for its front-end presentation.
  2. Getting all the Ethereum NFTs owned by a given address is also very problematic, as Ethereum is designed in such a way that you would need to read all the transaction records of that address to get all its Ethereum NFTs. This is an impossible task for the front-end, but can be partially solved by the various data indexing services currently available. However the data returned by these services are in different formats, each having its own advantages and disadvantages, and each supporting different chains. So how should we choose which one to use?

To address the first issue, Unidata has designed a series of user-friendly and uniform data specifications, divided into four sections - Profiles, Links, Assets and Notes. Ethereum NFT falls under the Assets specification. With a fixed data format returned by Unidata, the front-end no longer has to do the troublesome work of adapting a confusing data format.

It is also worth noting that Unidata currently supports Solana NFT in addition to Ethereum NFT, and that the data specifications for Ethereum NFT and Solana NFT are unified. Unidata will continue to support more Assets sources, all of which will also have unified specifications.

Once the first issue was solved, the second is easy: Unidata's approach is to unify and aggregate the data returned by the various services into the same format. For example, the OpenSea service supports the mainnet, the Alchemy service supports Polygon, the Moralis service supports BSC, Arbitrum and fantom, and the POAP service supports POAP NFT for the Gnosis chain. With a single line of code from Unidata, you can use these services to get all the NFTs for mainnet, Polygon, BSC, Arbitrum, fantom and POAP at the same time. An online demo can be seen here.

In addition to Assets, Unidata has Profiles, Links and Notes sections.

Assets currently supports Ethereum NFT(mainnet, Polygon, BSC, Arbitrum, Fantom, Gnosis, POAP), Solana NFT, Alchemy, Solscan, Moralis, OpenSea.

Notes currently supports Mirror Entry, Ethereum NFT Activity(mainnet, Polygon, BSC, Arbitrum, Fantom, Gnosis, POAP), RSS3.

Profiles currently supports ENS, Crossbell, Infura.

Links currently supports CyberConnect.

Many more are being added and you can see all the services and data sources currently supported in the documentation.

Links:

Docs: https://unidata.app/

GitHub: https://github.com/NaturalSelectionLabs/Unidata

Discord: https://discord.com/invite/ggrfhdS9Fe

Twitter: https://twitter.com/Unidata_

Arweave TX→
rlRHa9LnHK_PMmnimYeOWTD_hhnCtjZKBBpC6SF3zIA
Ethereum Address→
0xcf6D0a68Bef39da19D0706a11aD97eeab71F41fE
Content Digest
cU_cb6JEOGNC2d-KziX2yGGJixYTMqUrHsy8oE4bSOc