Skip to content

Commit

Permalink
Merge pull request #25 from chain-notes-brussels/moreReadMe
Browse files Browse the repository at this point in the history
lightened up the readme
  • Loading branch information
jacksmithinsulander authored Jul 13, 2024
2 parents c2cc622 + 19ee521 commit 29117cd
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

-**User friendly UX**: Our Metamask Snap shows the most useful note/context before the user approves a transaction, to ensure the user does not interact with any malicious contracts.
- 🧱 **Sybil resistant**: Using Worldcoin WorldID ensures that every person can only vote once on a note.
- 🖥️ **Tamper Proof Data**: Using IPFS, we make sure to store the notes about all contracts cheaply and tamper proof. Hence, IPFS was the obvious choice for important Oh Snap data
- ⛓️ **Available on all chains**: Chain Notes is available on all EVM chains!


Expand All @@ -30,7 +31,7 @@



## Bounties
## Bounties 😎

### Worldcoin

Expand Down Expand Up @@ -86,20 +87,23 @@ We deployed our contracts on Zircuit and manually added the config for the front
- [Manual network config](https://github.com/chain-notes-brussels/chain-notes-snap/blob/d71b19303b4d260dab5b9d66f40d89af665c750b/packages/nextjs/utils/scaffold-eth/morechains.ts)
- [Notes.sol on Zircuit](https://explorer.zircuit.com/address/0x77C461C1E180DD6A08A17E74bFb5207e44c7aC7f)

## Smart Contracts overview
We closely analyzed Vitalik Buterin's blog post to understand the implementation of the x dot com algorithm and created a simplified version for our smart contracts. Our system has two types of participants: NoteAuthors and NoteVoters. Each author can vote on a contract only once, and each voter can vote on a note only once. The available voting options are SOMEWHAT_HELPFUL, HELPFUL, and NOT_HELPFUL.
## Smart Contracts overview ⌨️

Notes can be tagged as "consideredHelpful" similar to Twitter's community notes. A note needs a score of 40 or more, with over 10 votes, to be tagged as such. The score is calculated using the following formula:
We closely analyzed [Vitalik Buterin's blog post](https://vitalik.eth.limo/general/2023/08/16/communitynotes.html) to understand the implementation of the x dot com algorithm and created a simplified version for our smart contracts. Our system has two types of participants: **NoteAuthors** and **NoteVoters**. Each author can vote on a contract only once, and each voter can vote on a note only once. The available voting options are **SOMEWHAT_HELPFUL**, **HELPFUL**, and **NOT_HELPFUL**.

Notes can be tagged as `consideredHelpful` similar to x dot com's community notes. A note needs a score of 40 or more, with over 10 votes, to be tagged as such. The score is calculated using the following formula:

```
((x * 80) + (y * 40)) / z
```

Where:
**Where**:

x = amount of HELPFUL votes
y = amount of SOMEWHAT_HELPFUL votes
x = amount of **HELPFUL** votes
y = amount of **SOMEWHAT_HELPFUL** votes
z = total amount of votes

If a note's score falls below 10 after being tagged as "consideredHelpful," the tag will be removed. We may adjust these values in the future, but for now, this serves as our MVP. Only "consideredHelpful" notes are displayed on the dashboard, and the highest voted note is shown in the MetaMask snap.
If a note's score falls below 10 after being tagged as `consideredHelpful`, the tag will be removed. We may adjust these values in the future, but for now, this serves as our MVP. Only `consideredHelpful` notes are displayed on the dashboard, and the highest voted note is shown in the MetaMask snap.

We also track each user's positive vs. negative ratio to potentially implement a voting prediction system similar to x dot com's, which would require some off-chain computation.

Expand Down

0 comments on commit 29117cd

Please sign in to comment.