Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Was dies bewirkt. Erstellt einen neuen CLMM-Pool in der Gebührenebene Ihrer Wahl und öffnet dann eine anfängliche konzentrierte Position. Zwei Transaktionen, ein Skript. Der Code stammt aus den offiziellen Demos in
raydium-sdk-V2-demo/src/clmm und wurde auf eine einzelne Node-ausführbare Datei angepasst.Setup
Stellen Sie sicher, dass Sie die Quick-start-Voraussetzungen gelesen haben undRPC_URL, KEYPAIR sowie die Abhängigkeiten installiert sind.
Die CLMM-Pool-Erstellung hat eine einmalige Gebühr plus Tick-Array-Miete für die anfängliche Position. Sie benötigen auch beide Seed-Mints in Ihrer Brieftasche — das Öffnen einer Position, wenn der Preis innerhalb des gewählten Bereichs liegt, erfordert Liquidität auf beiden Seiten.
Schritt 1 — config.ts
Speichern Sie als config.ts. Dies hat die gleiche Form wie das src/config.ts.template des Demo-Repos — disableFeatureCheck wird auf true gesetzt (empfohlen für jede nicht-triviale Integration, damit das SDK sich beim Start nicht auf dem Feature-Detect-Aufruf blockiert):
Schritt 2 — createPool.ts
Speichern Sie neben config.ts. Quelle: src/clmm/createPool.ts.
Schritt 3 — createPosition.ts
Quelle: src/clmm/createPosition.ts.
Schritt 4 — utils.ts
Quelle: src/clmm/utils.ts.
Ausführung
Was ist gerade passiert
Transaktion 1 —raydium.clmm.createPool hat initialisiert:
- den Pool-Status auf der kanonischen PDA für
(mint1, mint2, ammConfig), token_0_vaultundtoken_1_vault(sortiert nach Mint-Byteordnung),- den
observation-Ringpuffer, - die Inline-Tick-Array-Bitmap,
sqrt_price_x64 von Ihrer initialPrice gesetzt.
Transaktion 2 — raydium.clmm.openPositionFromBase öffnete eine konzentrierte Position:
- mintete ein Positions-NFT in Ihre Brieftasche (das NFT ist die Position; das Übertragen überträgt die Position),
- ordnete Tick-Arrays an den unteren und oberen Grenzen zu (einmalige Miete bei der ersten Position in diesen Bereichen; Tick-Arrays werden vom Programm nie geschlossen, daher zahlen nachfolgende Positionen in denselben Arrays keine zusätzliche Miete),
- zahlte
inputAmountvonmint1und den entsprechenden Pairbetrag vonmint2ein (berechnet durchPoolUtils.getLiquidityAmountOutFromAmountIn), - gutschrieb die Position mit Liquidität proportional zur Bereichsbreite.
[0.000001, 100000]) ist praktisch vollständig; enge ihn, um Gebühren nahe dem aktuellen Kurs zu konzentrieren.
Auswahl einer Gebührenebene
clmmConfigs[0] ist die niedrigste Gebührenebene. Der gesamte Satz wird unter GET https://api-v3.raydium.io/main/clmm-config veröffentlicht:
| Index | tradeFeeRate | Tick-Abstand | Verwenden wenn |
|---|---|---|---|
| 0 | 100 (1bp) | 1 | Stabil/stabil, sehr geringer impermanenter Verlust erwartet |
| 1 | 500 (5bp) | 10 | Hochkorrelierte Assets (z. B. liquid-gestaked gegenüber zugrunde liegend) |
| 2 | 2_500 (25bp) | 60 | Standard-Tokenpaar, Blue-Chip + Stabil |
| 3 | 10_000 (1,00%) | 120 | Volatiles oder dünnes Paar, bei dem IL-Risiko hoch ist |
user-flows/choosing-a-pool-type für eine vollständige Entscheidungsmatrix.
Häufige Fehler
Pool already exists for this config— Ein CLMM-Pool existiert bereits für dieses(mint1, mint2, ammConfig)-Tripel. Schlagen Sie die vorhandene Pool-ID nach und überspringen Sie Schritt 2.Insufficient funds for amount B— Ihre Brieftasche hat den angeforderten Betrag vonmintA, aber nicht den entsprechendenmintB. Das Öffnen einer Position, wenn der Preis innerhalb des Bereichs liegt, erfordert Liquidität auf beiden Seiten.Tick out of range— IhrlowerPriceoderupperPriceliegt außerhalb des darstellbaren Preisbereichs. Verwenden Sie einen realistischeren Bereich relativ zum aktuellen Preis.- Veralteter Preis — Ein Angebot von der API kann 5–60 Sekunden veraltet sein. Wenn
executePositionbei Slippage fehlschlägt, entfernen Sie die Kommentierung desgetRpcClmmPoolInfo-Blocks increatePosition.ts, um den Live-Preis unmittelbar vor dem Signieren erneut abzurufen.
Vorbehalte
- Positions-NFT ist Ihr einziger Handle. Verlieren Sie das NFT oder übertragen Sie es, verlieren Sie den Zugriff auf die Position. Behandeln Sie es wie einen Schlüssel.
- Außerhalb des Bereichs liegende Positionen verdienen keine Gebühren. Wenn der Preis außerhalb von
[lowerPrice, upperPrice]liegt, wird Ihre Position vollständig in einem Asset geparkt und verdient nichts, bis Sie sie neu ausbalancieren. - Tick-Array-Miete ist einseitig. Die erste Position, die ein nie initialisiertes Tick-Array berührt, zahlt seine Miete; das Programm stellt keinen Weg zur Verfügung, um Tick-Arrays zu schließen, daher ist diese Miete dauerhaft. Nachfolgende Positionen im gleichen Array sind kostenlos.
Nächste Schritte
products/clmm/overview— vollständige CLMM-Mechanik.products/clmm/ticks-and-positions— die Mathematik hinter Ticks.algorithms/impermanent-loss— Quantifizierung der CLMM-IL-Verstärkung.user-flows/create-clmm-pool— der gleiche Ablauf über die Raydium-UI.

