Show HN: Unidata – Providing Easy Access to Human-Friendly Web3 Data
We all know that it is not that easy for web3 developers(especially for front-end) to access and present Web3 data due to the infrastructure design of blockchains.

To resolve this issue, I came up with this human-friendly open-source project Unidata a few days ago. I believe this tool will make Web3 data much easier to access and display for developers.

Docs: https://unidata.app/
GitHub: https://github.com/NaturalSelectionLabs/Unidata

Let's take the most commonly used web3 data ETH NFT as an example to elaborate on the issue.

The EIP-721 standard ETH NFT used has a very "flexible" format. An NFT image may use various fields, such as image image_url or animation_url. Depending on the publisher's preference, it might not even be an image at all; it could be a video, a 3D model, etc. The inconsistent formats cause a lot of problems for its front-end presentation.

Getting all the Ethereum NFTs owned by a given address is also problematic. Ethereum's design requires you 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, while each supports 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, and Ethereum NFTs fall 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.

Unidata currently supports Ethereum NFT and Solana NFT as well, and the data specifications for Ethereum NFT and Solana NFT are unified. In addition, 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( https://unidata.app/guide/assets/ethereum-nft/#live-demo ).

Unidata currently supports not only Assets, but also Profiles, Links, and Notes sections. All the services and data sources currently supported can be seen in documentation.

- Assets currently support Ethereum NFT(mainnet, Polygon, BSC, Arbitrum, Fantom, Gnosis, POAP), Solana NFT, Flow NFT, and even Gitcoin Contribution.

- Notes currently support Mirror Entry, Ethereum NFT Activity(mainnet, Polygon, BSC, Arbitrum, Fantom, Gnosis, POAP), Gitcoin Contribution.

- Profiles currently support ENS, Crossbell Profile.

- Links currently support Crossbell Link.

Many more features are in progress and will be active very soon.

Please feel free to give me any feedback. I would like to welcome everyone to join this open-source project.