Ana içeriğe atla

Parametreler

Bu metod herhangi bir parametre almaz.

Yanıt

result
object

Kod Örnekleri

Temel İstek

curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getInflationGovernor"
}'

web3.js Kullanımı

import { Connection } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');

// Get inflation governor parameters
const inflationGovernor = await connection.getInflationGovernor();
console.log('Initial inflation:', inflationGovernor.initial);
console.log('Terminal inflation:', inflationGovernor.terminal);
console.log('Taper rate:', inflationGovernor.taper);
console.log('Foundation percentage:', inflationGovernor.foundation);
console.log('Foundation term:', inflationGovernor.foundationTerm);

// Calculate current inflation rate
async function calculateCurrentInflation() {
  const inflationGovernor = await connection.getInflationGovernor();
  const epochInfo = await connection.getEpochInfo();
  
  const yearsSinceGenesis = epochInfo.absoluteSlot / (432000 * 365); // Approximate years
  const currentInflation = Math.max(
    inflationGovernor.terminal,
    inflationGovernor.initial - (inflationGovernor.taper * yearsSinceGenesis)
  );
  
  return {
    currentInflation,
    yearsSinceGenesis,
    initialInflation: inflationGovernor.initial,
    terminalInflation: inflationGovernor.terminal,
    taperRate: inflationGovernor.taper
  };
}

Notlar

  1. Solana ağındaki enflasyonu yöneten parametreleri döndürür
  2. Enflasyon, azaltma hızına göre zamanla azalır
  3. Vakıf enflasyonu, doğrulayıcı enflasyonundan ayrıdır
  4. Mevcut durumdan okuduğu için yanıt anında gelir
  5. Bu parametreler yönetişim tarafından belirlenir ve değişebilir

En İyi Uygulamalar

  1. Ağın enflasyon çizelgesini anlamak için bu metodu kullanın
  2. RPC yükünü azaltmak için uygun durumlarda sonuçları önbelleğe alın
  3. Enflasyonun staking ödülleri üzerindeki etkisini göz önünde bulundurun
  4. Enflasyon parametrelerindeki değişiklikleri izleyin
  5. Diğer enflasyonla ilgili metodlarla birlikte kullanın

Yaygın Hatalar

KodMesajÇözüm
-32601Method not foundBir Solana RPC düğümüne bağlı olduğunuzu doğrulayın
-32007Inflation information unavailableDüğüm başlatılıyor veya senkronize ediliyor olabilir

Kullanım Senaryoları

  1. Enflasyon Analizi
    interface InflationMetrics {
      currentInflation: number;
      yearsSinceGenesis: number;
      initialInflation: number;
      terminalInflation: number;
      taperRate: number;
      foundationPercentage: number;
      foundationTerm: number;
      validatorInflation: number;
      foundationInflation: number;
    }
    
    async function analyzeInflation(): Promise<InflationMetrics> {
      const inflationGovernor = await connection.getInflationGovernor();
      const epochInfo = await connection.getEpochInfo();
      
      const yearsSinceGenesis = epochInfo.absoluteSlot / (432000 * 365);
      const currentInflation = Math.max(
        inflationGovernor.terminal,
        inflationGovernor.initial - (inflationGovernor.taper * yearsSinceGenesis)
      );
      
      const foundationInflation = yearsSinceGenesis < inflationGovernor.foundationTerm
        ? currentInflation * inflationGovernor.foundation
        : 0;
      
      return {
        currentInflation,
        yearsSinceGenesis,
        initialInflation: inflationGovernor.initial,
        terminalInflation: inflationGovernor.terminal,
        taperRate: inflationGovernor.taper,
        foundationPercentage: inflationGovernor.foundation,
        foundationTerm: inflationGovernor.foundationTerm,
        validatorInflation: currentInflation - foundationInflation,
        foundationInflation
      };
    }
    
  2. Staking Ödülü Projeksiyonu
    interface StakingProjection {
      currentAPY: number;
      futureAPY: number[];
      years: number[];
    }
    
    async function projectStakingRewards(
      totalStaked: number,
      totalSupply: number,
      years: number = 10
    ): Promise<StakingProjection> {
      const inflationGovernor = await connection.getInflationGovernor();
      const epochInfo = await connection.getEpochInfo();
      
      const currentYear = epochInfo.absoluteSlot / (432000 * 365);
      const yearsArray = Array.from({ length: years }, (_, i) => i);
      
      const futureAPY = yearsArray.map(year => {
        const inflation = Math.max(
          inflationGovernor.terminal,
          inflationGovernor.initial - (inflationGovernor.taper * (currentYear + year))
        );
        
        const foundationInflation = (currentYear + year) < inflationGovernor.foundationTerm
          ? inflation * inflationGovernor.foundation
          : 0;
        
        const validatorInflation = inflation - foundationInflation;
        return (validatorInflation * totalSupply) / totalStaked;
      });
      
      return {
        currentAPY: futureAPY[0],
        futureAPY,
        years: yearsArray
      };
    }