Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 8.31 KB

README.md

File metadata and controls

100 lines (76 loc) · 8.31 KB

Smart-Review(Decentralized Review Platform)

| 🚀 Quick Start | 🎓 How to use | 🔥 Why choose Smart-Review |
| 📟 Local setup instructions | ❗ Acknowledgement |

📃 License

MIT license

⭐ Context

  • Smart-Review is a decentralized review platform with an incentivized and private reviewing mechanism.
  • Our project consists of two GitHub repositories. This repository involves the smart contracts written in solidity, which constitutes the backend of our application. Please access the frontend repository in the Front end Github repo section. The primary description of our project can be found in this Readme documentation.

🚀 Quick Start

Link to our Web App .
📌 Before running it, we strongly suggest you to read the section 🎓 How to use
❗ And please ensure:

  • Meta Mask installed (Mobile APP or browser plugin)
  • Sepolia ETH available (gas fee for all the operations on our platform)
  • Ethereum network changed to Sepolia test network

🔥 Here are some resources where you can get free Sepolia ETH:

🎓 How to use?

📌 Note: please watch the following instruction video at first.

Please watch this instruction video

  • How to set up the application? We have provided an online application for you, so you do not have to setup locally.
    Please go to 🚀 Quick Start after finishing this section.
  • Any required library? No, this application has been deployed on cloud.
  • How to run it? Please follow the demo video above, which walks through all the operations you can take.
  • How this application helps different types of users? We are proud to say that our application can adapt the general usage for all kinds of users who would like share their innovative ideas and leave reviews on these ideas which can then be voted to guarantee the quality. All the operations are incentivized.
  • About wallet? Please connect to your Metamask account to support any transaction on this platform. We use sepolia as our testnet. Please get at least 0.01 SepoliaETH before connecting any operation since you need this to start any transaction

👀 Front end Github repo

https://github.com/SmartReviewETH/smart-review-front-end

🗳️ Tally Link for DAO

https://www.tally.xyz/gov/smartreview

💻 System Architecture

Blank diagram (2)

🔥 Why choose Smart-Review

Problem Statement

  • Traditional review is not incentivized and therefore lacks participation from a broader audience, especially in the open source and scientific community
  • Bias from reviewers may hinder the wide adoption of cutting-edge work
  • Traditional reviews usually take longer to process

Our Solutions

  • Key features
    • SmartToken.sol ERC-20 token We implemented our own ERC-20 token named SmartToken, with the symbol "SMT" (view this token in Etherscan). The SMT tokens are rewarded to contributors in the community based on their roles and contributions as the following:

      • A reviewer will be rewarded if the proposals of his/her reviews are approved and executed after reaching a quorum in SmartReview DAO.
      • A member of the DAO will be rewarded if his/her voted proposals are approved and executed

      The reward mechanism with cryptocurrency will significantly provide the incentivization, and encourage open-participation. We also have a faucet mechanism for getting free tokens to start.

    • SmartReviewContract.sol is used for providing basic data types and functions to support our application, such as initiating a smartReview, reviewing one's work, and completing the reviews/SmartReview.

    • GovernorContract.sol is used to manage proposals that are generated from reviews in our application. Our decision mechanism is based on token based voting, one token equals to one vote (More on voting machanism). SmartToken holders can interact with this contract to vote for, against or abstain on each proposal deciding whether or not the review is good enough. Once the proposal is passed, the predefined code will be executed and the reviewer can get the compensation. For each proposal there are some settings (current settings for test):

      • Voting period (5 minutes): period of time allowed to vote.
      • Quorum needed (100 votes): minimum number of votes needed to pass the proposal.
      • Proposal threshold (1 token): munimum number of tokens needed to create proposal.
      • Queue: the period of time that the proposal is postaponed before execution, members can act accordingly in this time.
    • SmartTokenFaucet.sol is used to provide free SmartTokens for new members. New members can get a certain amount of SmartTokens to start their journey on our platform.

    • A user-friendly frontend to visualize all operations.

    • IPFS for distributed decentralized file storage.

  • Target users include:
    • A researcher new to the research community and has some potential cutting-edge discoveries/inventions. He/she can submit his/her work on our platform and request reviews.
    • A researcher who wishes to get inspired by others' works and wishes to earn incentives by leave a review on our platform.
    • A researcher who has an opinion on others' reviews and can participate in voting about the reviews.
    • Practitioners with other occupations with similar goals.

📟 Local setup instructions

  • Front-end Local Setup: You must install dependencies for our front end. Please clone our front-end repository at first, then switch to the root directory and run npm install to install all required libraries, and run npm start to start the front end. We have deployed all smart contracts for you.
  • Tests: We use the front end for usability tests and all the functionality has been achieved.
  • Smart contracts Setup: This repository holds all smart contracts for this application, you can first clone this repository in the Remix, a browser-embedded IDE for smart contracts implemented with Solidity. Then compile and deploy each smart contract by the following steps:
    • Compile the SmartToken contract, and then deploy it.
    • Compile the SmartTokenFacet contract, and then deploy it.
    • Compile the TimeLock contract, and then deploy it.
    • Compile the GovernorContract contract, provide the address of the SmartToken contract and then deploy it. Remember to grant TimeLock roles to the Governor, otherwise the Governor can't perform correctly. Please check this for TimeLock Role explainations.
    • Compile the SmartReviewContract contract, and provide the address of the SmartToken contract to the SmartReviewContract contract to deploy it.

❗ Acknowledgement

To build our project, we have been inspired by some previous works.

  • AntsReview
    • allow issuers to issue an AntReview
    • a bounty for peer-review in scientific publication
    • linked to requirements stored on ipfs which peer-reviewers can fulfill by submitting the IPFS hash which contains evidence of their fulfillment
    • after the submission of successful peer-reviews, they will be approved by an approver and payed in ANTS We designed our workflow based on the framework of this project. But we have added our own components, such as review request proposal, review completion, voting mechanism, etc.