> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Wie man getTokenSupply verwendet

> Erfahren Sie mehr über die Anwendungsfälle von getTokenSupply, Codebeispiele, Anforderungsparameter, Antwortstruktur und Tipps.

Die [`getTokenSupply`](https://www.helius.dev/docs/api-reference/rpc/http/gettokensupply) RPC-Methode gibt das Gesamtangebot eines bestimmten SPL Token Mints zurück. Dies ist entscheidend, um die Gesamtmenge eines Tokens zu verstehen, die erstellt wurde.

## Häufige Anwendungsfälle

* **Anzeige von Token-Informationen:** Anzeige des Gesamtangebots eines Tokens auf einem Explorer oder in einer Wallet-Oberfläche.
* **Tokenomics-Analyse:** Verständnis der maximalen oder aktuellen Gesamtausgabe eines Tokens.
* **Überprüfung:** Überprüfung des Angebots eines Tokens, wie es vom Mint-Konto selbst berichtet wird.
* **Überwachung von Angebotsänderungen:** Wenn ein Token mintbar ist, kann dies verwendet werden, um Änderungen im Gesamtangebot im Laufe der Zeit zu verfolgen (obwohl das Angebot bei fungiblen Tokens normalerweise festgelegt oder von einer Minting-Behörde verwaltet wird).

## Anforderungsparameter

1. **`mintAddress`** (string, erforderlich): Der base-58 kodierte öffentliche Schlüssel des Token Mints, dessen Gesamtangebot Sie abfragen möchten.

2. **`options`** (object, optional): Ein optionales Konfigurationsobjekt, das Folgendes enthalten kann:
   * **`commitment`** (string, optional): Gibt das [Commitment-Level](https://www.helius.dev/blog/solana-commitment-levels) für die Anfrage an (z.B. `"finalized"`, `"confirmed"`, `"processed"`).

## Antwortstruktur

Das `result.value` Feld in der JSON-RPC-Antwort ist ein Objekt, das Details über das Angebot des Tokens enthält:

* **`amount`** (string): Das Gesamtangebot des Tokens in seiner kleinsten Einheit (Rohbetrag) als Zeichenfolge. Dieser Wert ist nicht für Dezimalstellen angepasst.
* **`decimals`** (u8): Die Anzahl der für diesen Token Mint definierten Dezimalstellen. Dies ist entscheidend für die Umwandlung des Rohwerts `amount` in ein menschenlesbares Format.
* **`uiAmount`** (number | null): Das Gesamtangebot des Tokens als Gleitkommazahl, angepasst an die `decimals` des Tokens. Dieses Feld kann null oder weniger präzise sein; `uiAmountString` wird in der Regel für die Anzeige bevorzugt.
* **`uiAmountString`** (string): Das Gesamtangebot des Tokens als Zeichenfolge, angepasst an die `decimals` des Tokens. Dies ist die benutzerfreundlichste Darstellung des Gesamtangebots.

**Beispielantwort:**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": {
    "context": { "slot": 123456789 },
    "value": {
      "amount": "1000000000000000", // e.g., 1,000,000,000 tokens with 6 decimals
      "decimals": 6,
      "uiAmount": 1000000000.0,
      "uiAmountString": "1000000000.0"
    }
  },
  "id": 1
}
```

## Codebeispiele

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <TOKEN_MINT_PUBKEY> with the actual mint address
  curl -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getTokenSupply",
      "params": [
        "<TOKEN_MINT_PUBKEY>"
      ]
    }' \
    <YOUR_RPC_URL>

  # Example with commitment level
  curl -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getTokenSupply",
      "params": [
        "<TOKEN_MINT_PUBKEY>",
        { "commitment": "confirmed" }
      ]
    }' \
    <YOUR_RPC_URL>
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection, PublicKey } = require('@solana/web3.js');

  async function checkTokenSupply(mintAddress) {
    // Replace with your RPC endpoint
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    const mintPublicKey = new PublicKey(mintAddress);

    try {
      const tokenSupply = await connection.getTokenSupply(mintPublicKey);
      console.log(`Token Supply for Mint ${mintAddress}:`);
      console.log(`  UI Amount: ${tokenSupply.value.uiAmountString}`);
      console.log(`  Raw Amount: ${tokenSupply.value.amount}`);
      console.log(`  Decimals: ${tokenSupply.value.decimals}`);
      // For full details:
      // console.log(JSON.stringify(tokenSupply, null, 2));
    } catch (error) {
      console.error(`Error fetching token supply for mint ${mintAddress}:`, error);
    }
  }

  // Replace with the actual token mint public key you want to query
  const exampleTokenMint = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'; // USDC mint
  checkTokenSupply(exampleTokenMint);

  // Example with a different mint (e.g., Raydium)
  // const raydiumMint = '4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R';
  // checkTokenSupply(raydiumMint);
  ```
</CodeGroup>

## Entwicklertipps

* **Unveränderbares Angebot (Normalerweise):** Für die meisten SPL Tokens ist das Gesamtangebot aus der Sicht des Mint-Kontos selbst fest, es sei denn, das Mint hat eine spezielle Minting-Behörde, die mehr Tokens erstellen kann (oder sie verbrennen, obwohl das Brennen typischerweise von Token-Konten erfolgt, nicht direkt vom Angebot des Mints).
* **`decimals` ist entscheidend:** Verwenden Sie immer das `decimals`-Feld, um `amount` oder `uiAmountString` korrekt zu interpretieren.
* **Datenquelle:** Diese Methode fragt das Mint-Konto direkt nach seinen Angebotsinformationen ab.

Dieser Leitfaden bietet die notwendigen Informationen, um die `getTokenSupply` RPC-Methode effektiv zur Abfrage des SPL-Token-Angebots auf Solana zu verwenden.
