How to Configure

  1. Set the BaseReward

    1. When deploying a mining contract, the project must define how many tokens are released per day or block cycle as the BaseReward. This can be configured in two main ways:

      • Calculations-based release: e.g., “X% of the remaining reward pool per day”

      • Decay models:

        • Halving model: periodic halving of rewards

        • Linear decay: gradual decrease over time

These configurations help manage the mining lifespan and ensure sustainable token value over time.

  1. Define UserWeight Algorithm

    1. Projects should implement smart contracts or scripts to calculate each user’s Weight(i) based on their contributions. These may include:

      • Hardware based-scenario: (Online uptime duration,Number of executed tasks,Node tier or device level)

      • AI tasks: number of successful completions (e.g., data annotation, inference requests), success rate.

    2. The contract aggregates all user weights into a TotalWeight. Each user’s fraction is Weight(i) / TotalWeight.

    3. LockCoefficient Tiers

      Lock Period
      Coefficient

      No lock

      1.0

      30 days

      1.2

      90 days

      1.5

      Users can choose a lock duration from the frontend UI. The contract records the start time and amount locked, then applies the appropriate coefficient when rewards are claimed.

  2. Security and Boundaries

To maintain fairness and avoid exploitation, the following mechanisms are recommended:

  1. To avoid extreme outliers, project teams can impose a maximum cap on individual weight or adopt “diminishing returns” for very high usage.

  2. Lockup data should be transparent, ideally integrated with a Linearly Release contract for easy on-chain verification.

Last updated