🌅
Sunrise日本語
  • Home
    • 👋Sunrise
  • 📜Learn
    • 🌆Sunrise
      • Proof of Liquidity
      • DA Fee Abstraction
      • Data Availability
      • Gauges Voting
      • Liquidity Pool
      • Liquidity Incentive
      • Swap
      • TokenConverter
      • Fee
      • Lockup Account
    • 💴$RISE
      • Allocations
    • 🏦Gluon
    • 💴$GLU
    • 🎓Thesis
      • App chain thesis
      • Interoperability
  • 🛠️Build
    • Client
    • L2 Blockchains
      • Rollkit
        • Sunrise Data
        • Rollkit L2 Chain
      • OP Stack
        • Sunrise Data
        • OP Stack L2 Chain
    • Validators
      • Proof of Data Availability
      • Self Delegation
  • 🏗️Run a Sunrise Node
    • Networks
    • Types of Nodes
      • Consensus
        • Full Consensus Node
        • Validator Node (Genesis)
        • Validator Node
        • Setup Cosmovisor
      • IBC Relayers
    • Resources
      • Upgrade
      • Environment
  • 🏗️Run a Gluon Node
    • Networks
    • Node
      • Validator Node
  • 🔗Links
    • GitHub
    • Discord
    • X (Twitter)
    • Medium
    • dev.to
  • 📓Deprecated (UnUniFi)
    • IBC Channels
    • Security
    • CosmWasm
      • Tutorial
      • Create Project
    • IYA Strategy
      • Interface
      • External CosmWasm chain with IBCHooks
      • External EVM chain with Axelar
    • Frontend
      • Cosmos Client TS
    • Resources
    • Setup ununifid
    • ununifid
      • Basic Commands
      • Module Commands
        • wasm
    • Build a Node
    • Build a Validator Node
    • Setup Cosmovisor
    • Mainnet Upgrades
    • IBC Relayer
GitBook提供
このページ内
  • 主な特徴
  • コアコンセプト
  • エポック
  • ゲージ
  • 遅延会計
  • ワークフロー
  • 1. BeginBlocker
  • 2. EndBlocker
  • 3. 報酬分配
  • シーケンス図: 報酬分配
  • コード例
  1. Learn
  2. Sunrise

Liquidity Incentive

x/liquidityincentiveモジュールは、流動性プールへの貢献に基づいて報酬を分配することで流動性提供者にインセンティブを与えます。このモジュールはエポックベースの報酬システムとゲージ投票メカニズムを使用して、報酬を動的に配分します。これにより持続可能な流動性提供を確保しながら、ユーザーがゲージ投票を通じてガバナンスに参加することを可能にします。

主な特徴

レベル1: アプリ開発者向け

  1. エポックベースの報酬分配:

    • 報酬は各エポックの終了時に分配されます。

    • 遅延会計はクレーム時にのみ報酬を計算することで計算オーバーヘッドを最小化します。

  2. ゲージ投票:

    • ユーザーはどの流動性プールがインセンティブを受け取るべきかについて投票できます。

    • 投票パワーは**$vRISE**トークン(譲渡不可のステーキングトークン)によって決定されます。

  3. 報酬の遅延会計:

    • 報酬はアキュムレーターを使用して追跡され、ユーザーがクレームする時にのみ分配されます。

    • これによりネットワークの計算負荷が軽減されます。

  4. 動的インセンティブ配分:

    • インセンティブは投票によって決定されるプールウェイト(ゲージ)に基づいて配分されます。

コアコンセプト

エポック

レベル2: 上級ユーザー向け

  • 同時に2つのエポックが存在します:

    1. 過去エポック: 終了したエポック。

    2. 現在エポック: 進行中のエポック。

  • 各エポックには以下のパラメータがあります:

    • start_block: エポックが開始するブロック。

    • end_block: エポックが終了するブロック。

    • gauges: インセンティブ分配のためのゲージ(プールウェイト)のリスト。

ゲージ

レベル2: 上級ユーザー向け

  • ゲージは報酬配分における特定の流動性プールのウェイトを表します。

  • パラメータ:

    • pool_id: 流動性プールのID。

    • ratio: このプールに割り当てられた投票パワー。

遅延会計

レベル3: モジュール開発者向け

  • 報酬はすぐに分配されず、クレーム時に計算されます。

  • 報酬計算の式:

ワークフロー

レベル3: モジュール開発者向け

1. BeginBlocker

  • 以下の条件で新しいエポックを作成します:

    • 最後のエポックが終了した場合。

    • エポックが存在しない場合(最初のエポック)。

2. EndBlocker

  • インフレーション報酬の一部を**x/distributionプールからx/liquidityincentive**プールに転送します。

3. 報酬分配

  • 報酬は各プールの手数料アキュムレーターに蓄積されます。

  • ユーザーは流動性プールのポジションとやり取りすることで報酬をクレームします。

シーケンス図: 報酬分配

レベル2: 上級ユーザー向け

sequenceDiagram
    participant User as Liquidity Provider
    participant LiquidityPool as x/liquiditypool Module
    participant IncentiveModule as x/liquidityincentive Module
    participant Distribution as x/distribution Module

    User->>LiquidityPool: Provide Liquidity
    LiquidityPool->>IncentiveModule: Track Position Accumulation
    IncentiveModule->>Distribution: Transfer Inflation Rewards
    User->>IncentiveModule: Claim Rewards
    IncentiveModule->>User: Calculate and Distribute Rewards

コード例

レベル1: アプリ開発者向け

エポック情報をクエリする:

import { SunriseClient } from "@sunriselayer/client";

async function queryEpochs() {
    const cometRpc = "https://sunrise-test-da.cauchye.net/";
    const client = await SunriseClient.connect(cometRpc);
    const queryClient = client.getQueryClient();

    if (!queryClient) {
        console.error("Query client not initialized");
        return;
    }

    const epochs = await queryClient.liquidityincentive.epochs({});
    console.log("Epochs:", epochs);
}
queryEpochs();

出力例:

{
  "current_epoch": {
    "start_block": "100",
    "end_block": "200",
    "gauges": [
      { "pool_id": "1", "ratio": "0.6" },
      { "pool_id": "2", "ratio": "0.4" }
    ]
  },
  "past_epoch": {
    "start_block": "0",
    "end_block": "100",
    ...
  }
}
前へLiquidity Pool次へSwap

最終更新 1 か月前

ClaimAmountij=PositionUnclaimedAccumulationijPoolUnclaimedAccumulationi×PoolUnclaimedi\text{ClaimAmount}_{ij} = \frac{\text{PositionUnclaimedAccumulation}_{ij}}{\text{PoolUnclaimedAccumulation}_{i}} \times \text{PoolUnclaimed}_{i}ClaimAmountij​=PoolUnclaimedAccumulationi​PositionUnclaimedAccumulationij​​×PoolUnclaimedi​

詳細についてはを参照してください。

📜
🌆
Github