feat(proposals): quadratic funding rounds for research proposals
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- distributed-systems, python
- Área
- backend, databases, fintech-quant
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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).
- Lenguaje dominante
- Python
- Estrellas
- 2
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 11
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QMeshPy/distributed-quantum#53 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
QMeshPy/distributed-quantum#78 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
QMeshPy/distributed-quantum#77 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments tier-2
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
QMeshPy/distributed-quantum#76 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue kubo storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
QMeshPy/distributed-quantum#75 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QMeshPy/distributed-quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
khuisman/mcp-gee-sweet#1166 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
lugassawan/swe-workbench#823 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
gramaziokohler/compas_timber#870 ·
-
security-scan-failure
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
semantica-agi/semantica#2089 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
autowarefoundation/autoware_carla_scenario#500 ·
Los mantenedores suelen responder en 1 día