Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Баннер версии. На этой странице документируется
@raydium-io/raydium-sdk-v2@0.2.42-alpha, версия, проверенная для всех примеров кода на сайте (2026-04). SDK находится на стадии pre-1.0, и поверхность типов менялась между релизами — закрепляйте версию.Установка
.d.ts рядом с JS-артефактом. Минимальный набор инструментов: Node 18+, TypeScript 5.0+, moduleResolution: "bundler" или "node16".
Инициализация
Точка входа —Raydium.load:
Raydium.load асинхронна, потому что при запуске она загружает небольшой payload /config с api-v3.raydium.io (со списком текущих аккаунтов AmmConfig, уровней комиссий и т. д.). Установите disableFeatureCheck: true в оффлайн-окружениях; вам придётся вручную передавать эти значения некоторым построителям.
Четыре модульных фасада
После загрузки объектraydium предоставляет четыре модульных фасада — по одному на каждую поверхность продукта:
trade и token как вспомогательные утилиты.)
Построители транзакций
Каждая мутирующая функция возвращает построитель вместо немедленного выполнения:execute— удобная функция, которая подписывает и отправляет. Эквивалентbuilder.execute.builder— экземплярTxBuilderсо всеми накопленными инструкциями и подписантами. Вызовите.build()чтобы получитьVersionedTransaction[]; полезно, когда нужно внедрить собственные инструкции или подписать внешними подписантами.transaction/innerTransactions— сырые массивы инструкций. Используйте при построении составных транзакций мультипрограмм.extInfo— дополнительная информация, специфичная для продукта. Например,createPoolвозвращаетextInfo.poolId;createLaunchpadвозвращает PDA нового стейта запуска.
txVersion управляет форматом транзакции legacy или V0. V0 (таблицы поиска адресов) — это рекомендуемый формат по умолчанию — он позволяет большим обменам уместиться в одной транзакции.
Зачем асинхронные построители?
Почти каждый построитель внутри загружает состояние на цепи: информацию о пуле (для котировок), владение программой токена (для маршрутизации Token-2022 vs SPL), освобождение от требования ренты на аккаунте (для создания ATA) и т. д. SDK кэширует агрессивно, но первый вызов для нового пула включает RPC-циклы обращения. Сохраняйте долгоживущий экземплярraydium чтобы избежать повторной загрузки.
Дополнения модуля CLMM (последний релиз)
Фасад CLMM получил поверхности для новых функций динамической комиссии, односторонней комиссии и лимитных ордеров:raydium.clmm.createCustomizablePool— расширениеcreatePool, которое принимаетcollectFeeOn,enableDynamicFeeиdynamicFeeConfigId. Используйте это для любого нового пула, который нуждается в новых параметрах; классическийcreatePoolпродолжает работать для пулов с комиссией по умолчанию.raydium.clmm.openLimitOrder— открыть односторонний лимитный ордер на пуле, который их поддерживает. ПринимаетpoolInfo,poolKeys,limitOrderConfig(из/main/clmm-limit-order-config),inputMint,inputAmountи целевойtick.raydium.clmm.increaseLimitOrder/decreaseLimitOrder— отрегулировать незаполненную часть существующего ордера. Уменьшение возвращает ошибку на полностью заполненном ордере сInvalidOrderPhase.raydium.clmm.settleLimitOrder/settleAllLimitOrder— собрать заполненный выход в ATA владельца. Её могут вызвать либо владелец ордера, либо хранительlimit_order_adminпула.raydium.clmm.closeLimitOrder/closeAllLimitOrder— закрыть полностью урегулированные ордера чтобы восстановить ренту.raydium.api.getClmmDynamicConfigs()/getClmmLimitOrderConfigs()— помощники REST, которые обращаются к новым эндпоинтам/main/clmm-dynamic-configи/main/clmm-limit-order-config.
utils/ в libraries/. Код, который импортировал из @raydium-io/raydium-sdk-v2/utils/... должен переключиться на @raydium-io/raydium-sdk-v2/libraries/.... Пакетный барель верхнего уровня не изменился, поэтому большинство пользователей никогда не видят переименование.
Сквозные пошаговые инструкции TypeScript находятся в products/clmm/code-demos.
Типичные ошибки
1. Несоответствие кластера
Конфигурация запуска SDK специфична для кластера. Смешиваниеcluster: "mainnet" с Connection devnet вызывает молчаливую неправильную маршрутизацию: SDK котирует против mainnet AmmConfig, но отправляет на devnet. Всегда передавайте оба параметра.
2. Забывчивое предварительное создание ATA
При первом взаимодействии с минтом Associated Token Account пользователя может не существовать. SDK автоматически добавляет инструкциюAssociatedTokenAccount::create в начало, когда обнаруживает отсутствующий ATA, что стоит небольшое количество ренты. Если ваш кошелек низко на SOL, это молча не удастся. Проверьте и пополните перед повторной попыткой.
3. Устаревший poolInfo
poolInfo — это кэшированный снимок. Если состояние пула изменилось с момента его загрузки (например, крупный обмен переместил цену), minAmountOut свопа может быть вычислен на основе старого состояния и упасть ниже суммы на цепи, вызвав отката. Переза́грузите poolInfo непосредственно перед построением высокоценных транзакций или используйте computeAmountOut SDK, который переприсваивает резервы.
4. Приоритетные комиссии
SDK по умолчанию не добавляет цены за вычислительные единицы. В периоды высокого объёма (запуски новых пулов, события с мем-монетами) это означает, что ваша транзакция конкурирует с множеством других и может не разместиться. Предоставьте явныйcomputeBudgetConfig:
integration-guides/priority-fee-tuning для руководства по размеру.
5. Допуск slippage должен соответствовать типу пула
CPMM и AMM v4 используют математику CPMM (низкое воздействие при обычных обменах). CLMM — кусочная (воздействие прыгает при пересечении тиков). Если вы скопируете допуск slippage 0.5% из примера CPMM в свон CLMM, который пересекает несколько тиков, транзакция вероятно откатится.computeAmountOut SDK возвращает priceImpact; установите допуск выше него.
6. BN vs number
Все поля сумм в SDK — это экземпляры BN из bn.js — никогда не JavaScript number. Преобразование значений сумм через .toNumber() молчаливо усекает на 2^53; для любого значения выше ~9 квадрильонов (не редкость для минтов с 9 десятичными знаками), это даёт неправильный результат. Держите всё в BN до финального рендеринга UI.
Политика версионирования
@raydium-io/raydium-sdk-v2— единственный SDK, который поддерживает Raydium. Все документы, демонстрации и руководства интеграции ориентированы на него.- Более старый пакет v1 (
@raydium-io/raydium-sdk) существует на npm по историческим причинам. Поддержка закончилась после выпуска CPMM и LaunchLab (v1 никогда не получил поддержку ни одного из них), и релизов v1 не было с 2024 года. Рассматривайте v1 как снятый с поддержки: не используйте его для нового кода и мигрируйте оставшиеся интеграции v1 на v2. - SDK v2 находится на стадии pre-1.0. Разрывные изменения между минорными релизами 0.x возможны; закрепляйте версию, которую вы проверили, и проверяйте примечания релиза GitHub при обновлении.
Обновление
При обновлении между минорными версиями SDK:- Переподтвердите тип возврата каждого мутирующего вызова — изменения формы (например,
extInfo) часто приземляются. - Перегенерируйте сигнатуры загрузки
poolInfo— поле может быть переименовано. - Переподтвердите обработку slippage; SDK колебался между автоматическими и необязательными поведениями привязки в разных релизах.
- Если вы используете
raydium.trade(маршрутизация), переподтвердите форму маршрута — это самая нестабильная часть поверхности.
Получение помощи
Для вопросов об SDK и API:- GitHub issues — подавайте на github.com/raydium-io/raydium-sdk-V2/issues для сообщений об ошибках и запросов функций. Команда Raydium активно отслеживает.
- Discord — канал
#dev-supportна discord.gg/raydium для синхронной помощи. - Telegram — чат разработчиков, связанный с raydium.io (избегайте непроверенных групп Telegram).
security/disclosure.
Указатели
sdk-api/rest-api— HTTP-дополнение к SDK.sdk-api/trade-api— построенные сервером транзакции свопа.sdk-api/anchor-idl— перегенерация клиентов непосредственно из IDL программ.sdk-api/python-integration— эквивалент на Python черезsolana-py.integration-guides/priority-fee-tuning— размерcomputeBudgetConfig.
- Исходный код Raydium SDK v2
- Примечания релиза Raydium SDK.


