KudAs
KudAs let's you post and receive verifiable reviews on the blockchain. Boost reputations and watch the emerging social network of blockchain attestations!
Features
- Write and post verifiable reviews for people (identified by their wallets). If your wallet is reputable, the reviews you give will boost their reputation.
- Receive verifiable reviews from others. Reviews from reputable wallets will give you credibility.
- Upvote (downvote) reviews given to other people that you find helpful (unhelpful).
- Watch a social graph emerge from the collective reviews. The graph can be shaped by the reviews’ helpfulness, a function of the rating and upvotes.
Technology Stack
- The backend are attestations executed and stored using the Ethereum Attestation Service. It mainly consists of 2 schemas that store attestations for reviews: (a) a review schema used by a reviewer to review someone. It includes a score, a topic of the review, a title and a body; (b) an upvoting schema used by anyone to upvote or downvote an existing review. It includes the EAS ID of the review it links to and an up/down-vote.
- The frontend is a collection of NEAR components. These NEAR components fetch attestation data from the EAS contracts using the GraphQL API.
- Our NEAR components:
- 1) Main application (wrapper for other components; See the source code on Jutsu.ai)
- 2) List view of the reviews (Source code on Jutsu.ai)
- 3) Graph view of the reviews (Source code on Jutsu.ai)
- 4) Connection to user wallet (Source code on Jutsu.ai)
- 5) Link to EAS (Source code on Jutsu.ai)
Challenges we encountered
- NEAR BOS doesn't yet support easy debugging and testing.
- NEAR documentation for the dev environment is still quite new.
- EAS SDK is not available on NEAR as it is an external library.
- EAS SDK conflicts with the latest version of certain libraries (e.g., Ethers).
- There's no access to DOM API in the NEAR components.
Future Work
- Filter reviews that matter by filtering on wallet address.
- Label which wallets are persons vs. smart contract protocols.
- Port the EAS SDK to a NEAR smart contract.
Bonus
- We deployed a NEAR smart contract that contains the EAS ABI on Ethereum Sepolia. The ABI alone was too large to be stored inside a NEAR component and was not handy to .fetch() as it needed to be reformatted.
Team
- Sasha
- Kate
- Ilya
- Leo