Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Maßgebliche Quelle. Diese Seite ist der einzige Ort in der Dokumentation, an dem Programmadressen wörtlich aufgelistet sind. Alle anderen Seiten verlinken hierher. Falls sich eine ID ändert, aktualisieren Sie sie nur hier, und alle Verweise auf der Website bleiben konsistent.Überprüfen Sie die Werte immer gegen die Live-API (https://api-v3.raydium.io/main/info), bevor Sie echte Transaktionen signieren.

Mainnet-beta

Faustregel: Falls eine Programm-ID, die Sie irgendwo finden, nicht mit der Tabelle unten übereinstimmt, signieren Sie die Transaktion nicht. Eine nicht übereinstimmende Programm-ID ist der einfachste Weg, Gelder auf Solana zu verlieren.

On-Chain-Programme

Hinweise:
  • AMM v4 und Farm v3/v5 werden für bestehende Pools und Positionen beibehalten. Die Raydium-UI und das SDK leiten die Erstellung neuer Pools und neuer Ökosystem-Farmen an CPMM, CLMM bzw. Farm v6 weiter – siehe protocol-overview/versions-and-migration.
  • Die Farm v3 ID oben dient auch als $RAY Single-Asset-Staking-Programm. Das Verhalten ist identisch mit Farm v3 für LP-Staking.
  • Stable AMM ist ein separates Programm, das das AMM Routing-Programm neben AMM v4, CPMM und CLMM ansteuern kann. Die Liquidität ist im Vergleich zu den anderen drei Programmen dünn, und das SDK stellt keine First-Class-API dafür bereit; Integratoren, die es durchleiten, tun dies in der Regel über den Router.
  • Verfügbarkeit des Quellcodes. Von den On-Chain-Programmen oben werden nur raydium-amm (AMM v4), raydium-cp-swap (CPMM) und raydium-clmm (CLMM) mit öffentlichen Quellcode-Repositories unter github.com/raydium-io bereitgestellt. Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock und die Farm-Programme sind nicht öffentlich verfügbar – überprüfen Sie sie stattdessen gegen die Live-API, den On-Chain-Bytecode und die veröffentlichten IDLs in raydium-io/raydium-idl.

Gemeinsame Admin-Autorität

Alle Anchor-basierten Programme (CLMM, CPMM, LaunchLab, Lock) teilen sich einen einzigen hardcodierten Admin-Pubkey für Zugriffskontrolle auf Anweisungsebene zu Admin-Pfaden (wie CreateAmmConfig oder UpdatePoolStatus): Operationale Autoritäten auf Kontoebene (z. B. protocol_owner, fund_owner auf CPMM/CLMM AmmConfig oder die Migrations-Wallets auf LaunchLab GlobalConfig) werden On-Chain gespeichert und können sich vom Programm-Admin unterscheiden. Lesen Sie sie direkt aus dem relevanten Config-Konto, bevor Sie hochriskante Transaktionen senden.

CPMM Permission-PDA Creator Authority

CreatePermissionPda akzeptiert entweder den oben genannten gemeinsamen Programm-Admin oder einen dedizierten Owner. ClosePermissionPda bleibt auf den gemeinsamen Programm-Admin beschränkt.

LaunchLab delegierte Config Creator

CreateConfig akzeptiert entweder den gemeinsamen Programm-Admin oder die delegierte Autorität unten. Die delegierte Rolle kann ein neues GlobalConfig erstellen; sie kann den Admin-Only-Pfad UpdateConfig für ein bestehendes Konto nicht aufrufen.

CLMM Restricted-Issuer Freeze Authorities

Wenn einer der Vault-Mints in einem CLMM-Pool eine der unten aufgeführten Freeze-Autoritäten hat, werden neue Positionen, die über einen V2-Pfad geöffnet werden, mit ihrem Position-NFT-Token-Konto eingefroren. Der erste Eintrag ist die Autorität, die von CLMMs Superstate-Asset-Erkennung verwendet wird. Dies sind Underlying-Asset-Issuer-Autoritäten, die nur als Match-Keys verwendet werden. Der CLMM-Pool-PDA, nicht der Issuer-Key, wird zur Freeze-Autorität für den Position-NFT-Mint. Die Liste ist im CLMM-Programm hardcodiert. Das Hinzufügen oder Entfernen einer Autorität erfordert ein Programm-Upgrade.

Gemeinsame Config / PDA-Konventionen

Mehrere Raydium-Programme stellen Config-Konten bereit, deren öffentliche Schlüssel stabil sind und in der öffentlichen API aufgelistet sind. Bevorzugen Sie die API-Abfrage gegenüber dem Hardcoding:
Standard-CPMM AmmConfig Index 0 (Standard 0,25%-Pool) Fee-Parameter zur Referenz: Siehe products/cpmm/fees für die Zusammensetzung der Aufteilungen und reference/fee-comparison für die produktübergreifende Matrix.

PDA Seeds

Die unten aufgeführten Seeds sind kanonisch und werden sowohl vom SDK als auch von On-Chain-CPIs verwendet. Berechnen Sie PDAs immer; hardcodieren Sie abgeleitete Adressen nicht.
token0Mint / token1Mint werden nach öffentlicher Schlüssel-Byte-Reihenfolge sortiert (token0 < token1), bevor sie gehasht werden. Ein Fehler hier führt zu einem gültigen PDA für einen nicht existierenden Pool. Die äquivalenten CLMM Seeds folgen dem gleichen Stil; siehe products/clmm/accounts.

Devnet

Devnet REST API Base: https://api-v3-devnet.raydium.io/ (gleiche Route-Form wie mainnet).

Wie man eine Adresse On-Chain überprüft

  1. Solana Explorer. Fügen Sie die Adresse in explorer.solana.com ein und bestätigen Sie, dass sie als Program mit einer aktuellen Upgrade-Autorität gekennzeichnet ist. Mainnet-beta sollte Deployments anzeigen, die von Raydiums Upgrade-Autorität signiert sind.
  2. CLI. Verwenden Sie solana program show <PROGRAM_ID> -u mainnet-beta, um Deploy-Slot, BPF-Loader, Upgrade-Autorität und Datenlänge zu überprüfen. Notieren Sie diese in Ihrem Runbook.
  3. IDL-Anhang. Fragen Sie die On-Chain-IDL mit anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet ab. Das Feld address der IDL sollte übereinstimmen. Die gleichen IDLs werden unter github.com/raydium-io/raydium-idl gespiegelt – vergleichen Sie die On-Chain-IDL mit dem Repo, bevor Sie ihr vertrauen.
  4. Config/Admin-Autoritäten. Für CPMM/CLMM Config-Konten lesen Sie das Feld owner/protocol_owner und bestätigen Sie, dass es mit der aktuellen Raydium-Multisig übereinstimmt, die in security/admin-and-multisig veröffentlicht ist.
Falls einer der vier oben genannten Checks mit dieser Seite nicht übereinstimmt, behandeln Sie diese Seite als fehlerhaft und öffnen Sie ein Issue, bevor Sie neuen Code gegen die Adressen schreiben.

Aktualisierung dieser Seite

  • Änderungen an Programm-IDs sind sicherheitskritisch. Versenden Sie eine Programm-ID-Änderung nicht ohne (a) Link zur Raydium-Ankündigung, (b) Eintrag in reference/changelog und (c) Link-Check über die Dokumentation, um zu bestätigen, dass keine Seite noch auf den alten Wert verweist.
  • Veraltete Einträge bleiben in der Tabelle mit einem Status-Hinweis, statt gelöscht zu werden – bestehende Pools werden weiterhin über das alte Programm aufgelöst.
Quellen: