28/STATUS-FEATURING: Propose community featuring spec (#432)

This commit is contained in:
Szymon Szlachtowicz 2021-08-06 07:10:45 +02:00 committed by GitHub
parent b2765e759d
commit 7cd14d049b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,56 @@
---
slug: 28
title: 28/STATUS-FEATURING
name: Status community featuring using waku v2
status: raw
tags: waku-application
editor: Szymon Szlachtowicz <szymon.s@ethworks.io>
---
This spec is a proposition of voting on community featuring over waku v2.
# Overview
When there is a active community that is seeking new members, current users of community should be able to feature their community so that it will be accessible to larger audience.
Status community curation DApp should provide such a tool.
Rules of featuring:
- Given community can't be featured twice in a row.
- Only one vote per user per community (single user can vote on multiple communities)
- Voting will be done off-chain
- If community hasn't been featured votes for given community are still valid for the next 4 weeks
Since voting for featuring is similar to polling solutions proposed in this spec could be also used for different applications.
# Voting
Voting for featuring will be done through waku v2.
Payload of waku message will be :
```ts
type FeatureVote = {
voter: string // address of a voter
sntAmount: BigNumber // amount of snt voted on featuring
communityPK: string // public key of community
timestamp: number // timestamp of message, must match timestamp of wakuMessage
sign: string // cryptographic signature of a transaction (signed fields: voterAddress,sntAmount,communityPK,timestamp)
}
```
timestamp is necessary so that votes can't be reused after 4 week period
# Counting Votes
Votes will be counted by the DApp itself.
DApp will aggregate all the votes in the last 4 weeks and calculate which communities should be displayed in the Featured tab of DApp.
Rules of counting:
- When multiple votes from the same address on the same community are encountered only the vote with highest timestamp is considered valid.
- If a community has been featured in a previous week it can't be featured in current week.
- In a current week top 5 (or 10) communities with highest amount of SNT votes up to previous Sunday 23:59:59 UTC are considered featured.
# Copyright
Copyright and related rights waived via
[CC0](https://creativecommons.org/publicdomain/zero/1.0/).

View File

@ -9,6 +9,7 @@ bookMenuLevels: 1
- [21/WAKU2-FTSTORE]({{< relref "/docs/rfcs/21/README.md" >}}) - [21/WAKU2-FTSTORE]({{< relref "/docs/rfcs/21/README.md" >}})
- [24/STATUS-CURATION]({{< relref "/docs/rfcs/24/README.md" >}}) - [24/STATUS-CURATION]({{< relref "/docs/rfcs/24/README.md" >}})
- [25/LIBP2P-DNS-DISCOVERY]({{< relref "/docs/rfcs/25/README.md" >}}) - [25/LIBP2P-DNS-DISCOVERY]({{< relref "/docs/rfcs/25/README.md" >}})
- [28/STATUS-FEATURING]({{< relref "/docs/rfcs/28/README.md" >}})
- Draft - Draft
- [1/COSS]({{< relref "/docs/rfcs/1/README.md" >}}) - [1/COSS]({{< relref "/docs/rfcs/1/README.md" >}})
- [3/REMOTE-LOG]({{< relref "/docs/rfcs/3/README.md" >}}) - [3/REMOTE-LOG]({{< relref "/docs/rfcs/3/README.md" >}})