Decide and set testnet tokenomics parameters: mintCap, dinPerEth, and DinEmission values
Los mantenedores suelen responder en 1 día
@abrahamnash ya está trabajando en esto.
Desde el 25/9/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Context
Raised as a blocker in discussion #150. These are decision items — the contract code is ready or nearly ready, but the actual values have not been agreed on. Without them, the faucet is uncapped, emission is undeployable, and external validators cannot onboard.
Parameters needed
Faucet cap — DinCoordinator.setMintCap()
The mechanism exists. The current devnet value is mintCap = 0 (uncapped by design). For testnet, a cap is needed to give slashing meaningful economic weight — a slashed validator should not be able to instantly re-stake at zero cost by minting more DIN.
Decision needed: what total DIN supply ceiling should the testnet faucet enforce? This should be set relative to the expected validator count and a realistic staking amount per validator.
Exchange rate — DinToken.setDinPerEth()
Currently 1,000,000 DIN/ETH — a devnet round number with no principled basis. For testnet this should be set so that a validator depositing a reasonable testnet ETH amount gets enough DIN to stake above MIN_STAKE without also being trivial to re-stake after a slash.
Decision needed: what should dinPerEth be on testnet, and who has authority to change it post-deploy? (Currently bare owner() — §9 item 13 in MECHANISM_DESIGN.)
DinEmission constructor parameters — PR #148
The DinEmission contract (PR #148, CI green) is ready to deploy but takes constructor arguments with no agreed values:
| Parameter | What it controls |
|---|---|
initialEmissionPerGI |
DIN minted per GI at epoch 0 — sets baseline validator earnings from protocol subsidy |
decayBps |
Fraction of current emission retained each epoch (e.g. 9000 = 10% decay per epoch) |
epochLength |
Number of GIs per epoch |
maxEpochs |
Total epochs before subsidy ends |
Decision needed: all four values. PR #147 (reward-split simulation) provides the income-stability framework to calibrate initialEmissionPerGI against.
Partial-slash fractions — PR #146
PR #146 proposes s1SlashFractionBps = s2SlashFractionBps = 3000 (30%) as the default for S1 (missed audit vote) and S2 (missed aggregation submission). These are DAO-settable post-deploy, but the default is what every slash runs at until governance changes it.
Decision needed: confirm 30% or revise before PR #146 is merged.
Why this blocks testnet
- Without
mintCapset, unlimited DIN can be minted — slashing has no teeth - Without agreed
DinEmissionparameters, PR #148 cannot be finalised and deployed, and validators earn nothing from protocol subsidy - Without
dinPerEthset intentionally, the staking economics are arbitrary
Related
- Discussion #150 (tokenomics section)
- PR #146 (slash fractions)
- PR #147 (reward simulation)
- PR #148 (DinEmission contract)
- MECHANISM_DESIGN §9 items 2, 13
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 7
- Merge medio
- 3 d 58 min
- PR fusionados (30 d)
- 39
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 InfiniteZeroFoundation/DevNet
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
InfiniteZeroFoundation/DevNet#295 ·
Los mantenedores suelen responder en 1 día
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Posiblemente ocupada @umermjd11 la tomó hace 2 días. Abiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
InfiniteZeroFoundation/DevNet#285 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#277 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#266 ·
Los mantenedores suelen responder en 1 día
-
Approved documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
InfiniteZeroFoundation/DevNet#248 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de InfiniteZeroFoundation/DevNet
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Graphify-Labs/graphify#4860 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
:bug: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
scikit-image/scikit-image#8377 ·
Los mantenedores suelen responder en 1 día
-
Ingredient import validation accepts negative nutrient values and NaNPosiblemente ocupada @LukeSekai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wger-project/wger#2564 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/ponymail-foal#351 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 4 días