feat(proposals): quadratic funding rounds for research proposals
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 28/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- distributed-systems, python
- Domaine
- backend, databases, fintech-quant
Piste de recherche
Start by reading services/proposal_service.py and api/v1/proposals.py, then inspect dependency #3 for the contribution ledger. Define how round eligibility, donor caps, sybil-resistance hooks, and the matching budget interact before implementing the FundingRound entity and calculation. Done means deterministic results that stay within the pool, can be recomputed from published inputs, and have property tests for monotonicity and budget bounds.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Add time-boxed funding rounds where a matching pool is distributed across proposals by quadratic funding, favouring broad support over a single large donor.
Motivation
Crowdfunding research is the platform's novel feature. Quadratic matching rewards the number of independent supporters and fits public-goods-style funding on a low-fee chain.
Current state in this repo
services/proposal_service.pyhandles proposals, funding thresholds and fragments;api/v1/proposals.pyexposes them.
Proposal
- Introduce a
FundingRoundentity (matching pool, start/end, eligible proposals, per-donor cap). - Compute matching from the contribution ledger using the standard quadratic formula, with a cap per proposal and the pool as the total budget.
- Add sybil-resistance hooks (minimum contribution, per-account cap, optional external identity check) and make them pluggable.
- Publish round results and the computation inputs for audit.
- Run the first version off-chain (ledger-based, #3), with on-chain distribution as an optional follow-up on a low-fee EVM chain.
Acceptance criteria
- Matching totals never exceed the pool and are deterministic given the contributions.
- A round's results can be recomputed from published inputs.
- Self-funding and duplicate-account behaviour is limited by the configured rules.
Out of scope
- Building a sybil-proof identity system.
Dependencies
- #3
Testing plan
- Property tests for the matching function (monotonicity, budget bound).
References
- Quadratic funding overview: https://qf.gitcoin.co
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Langage dominant
- Python
- Étoiles
- 2
- Forks
- 4
- Merge moyen
- 6 h 54 min
- PR mergées (30 j)
- 7
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QMeshPy/distributed-quantum#53 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QMeshPy/distributed-quantum#78 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
QMeshPy/distributed-quantum#77 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments tier-2
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
QMeshPy/distributed-quantum#76 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue kubo storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
QMeshPy/distributed-quantum#75 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QMeshPy/distributed-quantum
Issues similaires
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
yunaremaia/agent-capability-attestation#64 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
yunaremaia/agent-call-graph#43 ·
Les mainteneurs répondent en général sous 1 jour