diff --git a/content/docs/rfcs/28/README.md b/content/docs/rfcs/28/README.md new file mode 100644 index 00000000..d5daa6ab --- /dev/null +++ b/content/docs/rfcs/28/README.md @@ -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 +--- + +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/). + diff --git a/content/menu/index.md b/content/menu/index.md index 84bed571..0ec17c0a 100644 --- a/content/menu/index.md +++ b/content/menu/index.md @@ -9,6 +9,7 @@ bookMenuLevels: 1 - [21/WAKU2-FTSTORE]({{< relref "/docs/rfcs/21/README.md" >}}) - [24/STATUS-CURATION]({{< relref "/docs/rfcs/24/README.md" >}}) - [25/LIBP2P-DNS-DISCOVERY]({{< relref "/docs/rfcs/25/README.md" >}}) + - [28/STATUS-FEATURING]({{< relref "/docs/rfcs/28/README.md" >}}) - Draft - [1/COSS]({{< relref "/docs/rfcs/1/README.md" >}}) - [3/REMOTE-LOG]({{< relref "/docs/rfcs/3/README.md" >}})