Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Reputation and Contribution Indexer (RCI) #3350

Open
zivkovicmilos opened this issue Dec 17, 2024 · 1 comment
Open

[RFC] Reputation and Contribution Indexer (RCI) #3350

zivkovicmilos opened this issue Dec 17, 2024 · 1 comment
Assignees
Labels
help wanted Want to contribute? We recommend these issues. 🌱 feature New update to Gno

Comments

@zivkovicmilos
Copy link
Member

zivkovicmilos commented Dec 17, 2024

Overview

The Reputation and Contribution Indexer (RCI) is gno-native tool designed to aggregate and quantify user activity within the gno.land blockchain ecosystem. It creates a verifiable, transparent, and actionable reputation system based on on-chain interactions, open-source contributions (via GitHub), and participation in governance, validation and generally on-chain activity.

The RCI will provide:

  • On-chain Reputation Metrics: Quantitative scores based on governance activity, smart contract interactions, NFT / token trading, and more.
  • GitHub Contribution Integration: Optional indexing of contributions to public gno GitHub repositories (e.g., commits, pull requests), relevant to the ecosystem.
  • Public API: For dApps, DAOs, and developers to integrate reputation data.
    • This API covers both the off-chain surface in the form of regular API calls, as well as on-chain through Realm calls and an oracle system.
  • User Dashboard: A frontend interface for users to view, track, and share their scores.

On-chain Reputation Metrics

RCI will index key on-chain activities such as:

  • Governance Participation: Voting frequency, proposal creation, and execution.
  • dApp Engagement: Frequency and value of interactions with Realms covering DeFi, NFT marketplaces, and other protocols.
  • Smart Contract Deployment: Development and deployment of verified contracts.
  • Transaction Behavior: Volume, frequency, and fees paid on-chain.
  • GRC Activity: Minting, trading, and holding unique digital assets.
  • Validator Activity: Blocks created, consensus participation.

To generate a score based on activity, a scoring engine needs to be developed, that is customizable and configurable to take into account many different activity factors.

GitHub Integrations

Monorepo contributions

To promote open-source development and infrastructure contributions, the RCI will integrate with GitHub APIs to measure contributions such as commits, pull requests, issues opened, and stars on public repositories related to the gno.land ecosystem.

Reputation algorithm

In line with our radical transparency, the reputation algorithm should live on gnoverse, in a public repo. It will provide the calculations required to convert on-chain activity into a set of scores that we'll use as online reputation. The algorithm is a common good, meaning everyone should be allowed to propose changes to the algorithm. Possibly even vote on-chain to implement changes.

Public API for Builders

Developers, DAOs, and dApps will be able to query RCI’s public API to:

  • Retrieve user reputation scores.
  • Access specific metrics (e.g., governance participation, GitHub commits).
  • Integrate reputation-based rewards, leaderboards, and access controls.
  • Analyze DAO activity over time

⠀Example Use Cases:

  • DeFi Protocols: Offer reduced fees or higher yields to users with high RCI scores.
  • DAOs: Identify active voters, reward governance participants, address imbalance in their composition.
  • GRC Projects: Recognize top traders, minters, or early adopters.
  • dApps: Build reputation-based leaderboards to encourage competition.

In addition to offering an off-chain API in the form of REST / GraphQL endpoints, the RCI will offer an on-chain Realm-based query system that utilizes Gno oracles to feed data.

User Dashboard

The user-facing dashboard will allow individuals to:

  • View their reputation scores in real time.
  • Track contributions to specific dApps, DAOs, or projects.
  • Share their profiles as verifiable proof of reputation.
  • See DAO composition (including tiers and voting activity), and track DAO changes (size, membership, proposals, voting) over time.
  • See the validator set and their overall health

cc @AidarItkulov @alexiscolin @michelleellen

@zivkovicmilos zivkovicmilos added 🌱 feature New update to Gno help wanted Want to contribute? We recommend these issues. labels Dec 17, 2024
@Kouteki
Copy link
Contributor

Kouteki commented Dec 17, 2024

The back end of the project is clear. What's missing are a few items on the front end:

  1. The types of reputation that a member could have. Holding a lot of GNOT should not be the same as solving critical bugs.
  2. The algorithm for the reputation. If we're transparent about everything, we should be transparent on the math behind the reputation score. Putting that score on gnoverse and opening it up for contributions could be very interesting

EDIT: I added both to the RFC description

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Want to contribute? We recommend these issues. 🌱 feature New update to Gno
Projects
Status: Triage
Development

No branches or pull requests

3 participants