Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Toute la documentation suppose une chaîne d’outils Solana fonctionnelle. Cette page énumère les outils, les versions connues pour fonctionner avec Raydium en septembre 2026, et les pièges spécifiques de configuration. Commencez ici avant d’exécuter les exemples de code des chapitres suivants.Deux ensembles de versions importent, et ils ne sont pas identiques. Pour construire ou forker les programmes Raydium, vous avez besoin de la chaîne d’outils exacte qu’ils épinglent — Rust 1.91.0, Agave 3.1.10, Anchor 1.0.2 à partir de la mise à jour 2026-09-09. Pour intégrer contre les programmes déployés depuis TypeScript ou Python, vous n’avez besoin que d’une bibliothèque client suffisamment récente pour communiquer avec eux, et les épingles sont consultatifs. Chaque section ci-dessous indique le cas qu’elle couvre.

Outils principaux

Solana CLI

L’interface de ligne de commande canonique pour interagir avec les clusters Solana — gestion des portefeuilles, appels RPC, déploiement de programmes. Installation :
Vérification :
L’hôte d’installation a changé. release.solana.com appartenait à Solana Labs ; le client est maintenant maintenu par Anza sous le nom Agave, et les versions sont servies depuis release.anza.xyz. Le binaire de mise à jour automatique est agave-install (solana-install est conservé comme alias hérité), donc agave-install update et agave-install init <version> sont les orthographes actuelles. La documentation de Solana propose également un installateur en une seule commande qui récupère la CLI, Rust et Anchor ensemble :
Cet installateur suit sa propre idée du courant et peut vous remettre un Anchor différent de celui que les programmes Raydium épinglent — vérifiez anchor --version après.
Configuration pour mainnet :
Pour les tests Raydium, vous voudrez presque toujours un portefeuille devnet financé :

SPL Token CLI

La CLI officielle pour les opérations SPL Token / Token-2022 — création de mints, frappe de jetons, transferts. Installation (incluse avec Solana CLI) :
Opérations courantes :

Anchor CLI

Nécessaire pour récupérer les IDLs Raydium, construire des clients et vérifier les programmes. Installation :
Anchor a changé de dépôt et de version majeure. Le dépôt canonique est maintenant github.com/solana-foundation/anchor (c’était coral-xyz/anchor), et Anchor 1.0 est la première ligne de version que les programmes Raydium utilisent — CPMM et LaunchLab épinglent tous deux anchor-lang/anchor-spl =1.0.2 à partir de la mise à jour 2026-09-09, en montant de 0.32.1. avm peut contenir plusieurs versions ; avm use 1.0.2 est ce qui fait que anchor build reproduit les artefacts de Raydium. Anchor 1.1 et 1.2 existent et se construisent bien pour vos propres programmes, mais une caisse CPI compilée contre une version mineure anchor-lang différente de celle que le programme cible épingle ne se liera pas — voir sdk-api/rust-cpi.
Opérations courantes :

Configuration TypeScript

Le chemin d’intégration principal pour Raydium.

Paquets

Versions connues pour fonctionner ensemble en septembre 2026 :
@coral-xyz/anchor est gelé ; le paquet est maintenant @anchor-lang/core. @coral-xyz/anchor s’est arrêté à 0.32.1 quand Anchor est sorti de Coral. Anchor 1.x publie sous @anchor-lang/core, et les propres dépôts de programmes Raydium ont basculé leurs suites de tests vers celui-ci lors de la mise à jour 2026-09-09. Les imports que vous utilisez réellement sont inchangés — import { Program, BN, AnchorProvider } from "@anchor-lang/core" — donc la migration est un renommage de paquet plus une mise à jour du fichier de verrouillage.Deux remarques comportementales si vous passez de 0.3x : .accounts({...}) n’accepte maintenant que les comptes qu’Anchor ne peut pas résoudre lui-même, donc un constructeur qui passe l’ensemble complet doit appeler .accountsPartial({...}) à la place ; et @anchor-lang/core/dist/cjs/utils/token est l’endroit où les aides telles que ASSOCIATED_PROGRAM_ID ont déménagé.

Script minimal

Voir sdk-api/typescript-sdk pour la référence complète du SDK.

Configuration Rust

Pour l’intégration CPI et les programmes on-chain.

Chaîne d’outils

Construisez les programmes avec cargo build-sbf (l’ancienne orthographe cargo build-bpf a disparu).

Cargo.toml du programme pour une intégration CPI Raydium

Épinglez anchor-lang et anchor-spl avec = à la version que le programme cible épingle. À partir de 2026-09, CPMM épingle =1.0.2 et CLMM épingle toujours =0.32.1, donc une seule caisse ne peut pas faire de CPI dans les deux — voir sdk-api/rust-cpi. La fonctionnalité "cpi" importe le module cpi avec des aides CPI (donc vous pouvez raydium_cp_swap::cpi::swap_base_input(...)). Voir sdk-api/rust-cpi.

Configuration Python

Chemin d’intégration secondaire — courant pour les développeurs de bots.

Paquets

Versions :
Deux pièges de nommage. Le client RPC est importé sous solana mais le projet s’appelle solana-py — pip install solana-py n’installe rien d’utile. Et il n’y a pas de paquet raydium-py sur PyPI : l’aide Raydium communautaire est un dépôt que vous clonez, AL-THE-BOT-FATHER/raydium_py, pas une distribution publiée. Les révisions antérieures de cette page listaient une ligne pip install raydium-py qui n’a jamais fonctionné.

Script minimal

Voir sdk-api/python-integration.

Points de terminaison RPC

Le RPC mainnet public (api.mainnet-beta.solana.com) est fortement limité en débit et s’étouffe sous toute charge. Pour une utilisation non triviale, obtenez un point de terminaison privé : Configuration :
Certaines opérations RPC nécessitent des capacités étendues :
  • getProgramAccounts — les analyses sans restriction sont coûteuses ; certains fournisseurs les limitent ou facturent par analyse.
  • getPriorityFeeEstimate — point de terminaison spécifique à Helius ; les autres ont des équivalents.
  • geyser / diffusion WebSocket — nécessaire pour les bots à faible latence ; tous les fournisseurs ne l’exposent pas.

Devnet et localnet

Devnet

Le cluster de test public de Solana. Raydium a un déploiement devnet partiel :
  • Certains pools CPMM existent pour les tests.
  • AMM v4 a des pools devnet historiques.
  • CLMM a quelques pools de démonstration.
  • Farm v6 est déployé.
Le SDK supporte devnet via cluster: "devnet" :
Mise en garde : les pools devnet ont une liquidité mince et peuvent avoir un état obsolète. Ne comptez pas sur devnet pour la découverte de prix ; utilisez-le uniquement pour construire et tester les flux d’instructions.

Localnet avec un état mainnet forké

Pour des tests réalistes, forkez l’état mainnet dans un validateur local :
Cela clone l’état spécifique du programme/compte vers localhost, où vous pouvez effectuer des transactions librement. Idéal pour :
  • Tester unitairement votre intégration CPI contre un vrai programme Raydium.
  • Rejouer une transaction avec un paramètre modifié pour déboguer.
  • Tester la charge avec de grands volumes synthétiques.
L’équipe Raydium utilise largement le localnet forké pour les tests de régression avant le déploiement mainnet.

Modèles de projet

Démarreur d’intégration TypeScript

package.json minimal :

Démarreur de programme Anchor CPI

Avec Anchor 1.0 :

Utilitaires CLI utiles

solana-keygen

Lire n’importe quel compte

Utile pour examiner l’état du pool sans décodeur.

Journaux du programme

Inspection des transactions

Ou via explorer — collez la signature et regardez l’onglet « Program Logs ».

Hygiène de l’environnement

Portefeuilles séparés par objectif

  • Portefeuille de développement : contient SOL testnet, utilisé pour la construction.
  • Portefeuille de production : contient du vrai SOL, utilisé uniquement pour les déploiements / soumissions multisig.
  • Portefeuille chaud pour les bots : petit solde, permissions étroites.
Les clés ne doivent jamais être codées en dur. Utilisez des variables d’environnement ou des gestionnaires de secrets.

Modèle .env

Épinglage des versions

Verrouillez toutes les dépendances de l’écosystème Solana. L’écosystème évolue rapidement ; une mise à jour de version mineure de @solana/web3.js a précédemment introduit des changements de rupture. Utilisez package-lock.json / Cargo.lock religieusement.

Pointeurs

Sources :