Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Decide and set testnet tokenomics parameters: mintCap, dinPerEth, and DinEmission values

オープン
#155 コメント 9 件 リアクション 1 件 担当者 3 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@abrahamnash がすでに取り組んでいます。

2026年9月25日 から。

評価

この issue はまだ評価されていません。

説明

help wanted question

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 mintCap set, unlimited DIN can be minted — slashing has no teeth
  • Without agreed DinEmission parameters, PR #148 cannot be finalised and deployed, and validators earn nothing from protocol subsidy
  • Without dinPerEth set 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
主要言語
Python
スター
4
フォーク
7
平均マージ
3日 4時間
マージ済み PR(30日)
34

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

InfiniteZeroFoundation/DevNet のほかの issue

InfiniteZeroFoundation/DevNet の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。