Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Что это делает. Загружает CPMM-пул из RPC, получает котировку swap с проскальзыванием 0,5%, собирает транзакцию, подписывает её вашим ключом и отправляет. От начала до конца — примерно 30 строк.
Подготовка
Убедитесь, что вы прочитали Предварительные требования Quick start и установилиRPC_URL, KEYPAIR и необходимые зависимости.
Скрипт
Сохраните какswap.mjs:
swap.mjs
Запуск
Выберите любой CPMM-пул, в котором у вас есть ликвидность. Пример с каноническим CPMM-пулом SOL/USDC:Что произошло
Raydium.loadинициализировал SDK — загрузил глобальную конфигурацию и установил контекст вашего кошелька.getPoolInfoFromRpcполучил актуальное состояние пула прямо из RPC (не из кэша API). Для высокостоимостных swap всегда нужно свежее состояние.CurveCalculator.swapвычислил выход по формуле constant-product с учётом комиссии пула. Это та же математика, которую программа выполняет on-chain, поэтому вы можете сравнивать котировки off- и on-chain.raydium.cpmm.swapсобрал транзакцию в формате V0 (с поддержкой таблиц поиска адресов) и добавил явную конфигурацию compute-budget. Tip в compute-budget помогает транзакции попасть в очередь в загруженные периоды.execute({ sendAndConfirm: true })подписал, отправил и дождался подтверждения.
Частые ошибки
Pool not found— неправильныйPOOL_IDили вы указали неправильный кластер (ID пула mainnet для RPC devnet и т. д.).Insufficient funds for transaction— в вашем кошельке недостаточно SOL для входной суммы swap + комиссии + аренды ATA.Slippage tolerance exceeded— цена в пуле изменилась между получением котировки и выполнением. Повторите попытку, увеличьте параметрslippageили используйтеcomputeAmountOutSDK, который всегда заново загружает резервы.Token account not initialized— ATA выходного токена не существовал, и инструкция неявного создания приземлилась, но по какой-то причине не сработала; проверьте баланс SOL в вашем кошельке и попробуйте снова.
Дальше
sdk-api/typescript-sdk— полный справочник SDK.products/cpmm/instructions— как выглядит инструкция swap on-chain.integration-guides/priority-fee-tuning— как подобратьcomputeBudgetConfigдля production.

