feat(proposals): quadratic funding rounds for research proposals
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 28/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- distributed-systems, python
- Domínio
- backend, databases, fintech-quant
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- Python
- Estrelas
- 2
- Forks
- 4
- Merge médio
- 5h 19min
- PRs com merge (30d)
- 11
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
QMeshPy/distributed-quantum#53 ·
Mantenedores costumam responder em até 1 dia
-
chain-integration enhancement payments research-spike tier-2
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
QMeshPy/distributed-quantum#78 ·
Mantenedores costumam responder em até 1 dia
-
chain-integration enhancement payments research-spike tier-2
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
QMeshPy/distributed-quantum#77 ·
Mantenedores costumam responder em até 1 dia
-
chain-integration enhancement payments tier-2
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
QMeshPy/distributed-quantum#76 ·
Mantenedores costumam responder em até 1 dia
-
documentation good first issue kubo storage tier-1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 42/100
QMeshPy/distributed-quantum#75 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de QMeshPy/distributed-quantum
Issues semelhantes
-
Python Volcengine provider returns failures instead of raising themTalvez já em andamento @Ricardo-M-L assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
agent-infra/sandbox#248 ·
-
Textractor leaves empty temporary files when remote retrieval failsTalvez já em andamento @HuaTNA assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
test(bm_generation): pin the learning parameters and CPU sync shortcutTalvez já em andamento @iloveeyjafjalla assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
qboson/kaiwu-pytorch-plugin#1341 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
elder-plinius/V3R1T4S#625 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
foxglove/mcap#1907 · 1 comentário ·
Mantenedores costumam responder em até 1 dia