Inspiration

As a fan of NFTs, I've spent many hours participating is NFT related spaces over the last few months. One of the recurring topics raised by both artists and traders is the difficulty to correctly gauge the value of an NFT. While this is a young market, there appears to be a small group of NFT connoisseurs who had already developed the skill and experience required to appraise the value of NFTs, however for newbie traders and artists it is increasingly hard to set correct prices and avoid costly mistakes.

What it does

The system is based on a smart contract (currently on rinkeby) and a chainlink external adapter. When experts join the protocol, chainlink is used to query their trading history using the Opeansea API and determine and experience score. Users of the project can submit NFTs for review and a the minimum expertise score for experts to appraise their NFT. They also lock an amount of Eth to incentivize experts. If the appraisal is successful, the payment is distributed among the voters.

How we built it

The project is based on several components with include: an on-chain contract that manages the dao interactions (currently on rinkeby, developed with solidity/hardha/alcehmyt), a chainlink node implementing an external adapter job to evaluate expert scores, an API service (express+nodejs) that does the actual score calculation for the external adapter and using Opeansea API in the backend, a react frontend (chackra UI), and another api service that enables the frontend to retrieve NFT information, with the help of NFT port. Chainlink is used in three ways: a direct request external adapter that calculated expert scores when they join the Dapp, a cron job that expires appraisal requests after a month if they are not fulfilled, and another cron job that updates appraisers scores once every two months.

Challenges we ran into

Learning React which was new to me, as part of the project. Handling a change in Opensea api policy (requiring an API key for mainnet) towards the date of submission. The onchain (solidity) code turned out to be more complex than expected and presented many challanges with regards to data structures and balancing between performance and frugality in onchain data.

Accomplishments that we're proud of

Having a live, working system by deadline, in spite of all the complexities around the system.

What we learned

The reality and complexity of Web3, how a Web3 product can be built from scratch in less than a month, the different considerations of designing a chainlink oracle integration. Also, we learned that making a 5 minute presentation video can take much longer than expected.

What's next for Eval NFT

This project can definitely be expanded to a live Dapp (though there is still some way to go to get there).

Built With

Share this project:

Updates