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.
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Что такое ферма
Ферма — это автономная программа в цепи, которая распределяет один или несколько токенов вознаграждения на счета, осуществляющие ставку на токен для ставок. Токен для ставок почти всегда представляет собой LP-токен, выданный CPMM, AMM v4 или пулом legacy, но также поддерживаются и используются фермы с одним активом (ставка SOL, RAY или токена проекта напрямую) для небольшого числа долгоживущих программ. Ключевые свойства:- На основе эмиссии, а не комиссий. В отличие от встроенных потоков вознаграждений CLMM, вознаграждения фермы не привязаны к объёму свопов или активности пула. Бюджет фермы вносится заранее её создателем и расходуется с постоянной скоростью в секунду, пока не закончится.
- Независимость от пула. Пул не знает о существовании фермы. Перемещение LP между кошельками не уведомляет ферму; пользователь должен сначала активно произвести
Withdrawиз фермы. Аналогично,Withdrawиз пула не снимает средства из фермы. - Бухгалтерия по пользователю и по вознаграждению. У каждого стейкера есть счёт
UserStake(или “Ledger”) на ферму, который отслеживает их ставку и снимок счётчика вознаграждений на акцию для каждого потока вознаграждений фермы. - Несколько вознаграждений. Farm v5 поддерживает до 2 вознаграждений; v6 поддерживает до 5. Каждое вознаграждение имеет собственное хранилище, скорость в секунду, время начала и окончания.
Три активные версии
Raydium выпустила три версии программы фермы. Все активны, и каждая имеет собственную схему PDA и набор инструкций. Интеграторы должны рассматривать их как три различные программы, которые разделяют концептуальную модель.| Версия | Расположение Program ID | Макс. вознаграждений | Важные отличия |
|---|---|---|---|
| v3 | см. reference/program-addresses | 1 | Самая ранняя схема. Самые старые фермы (RAY-USDC, SOL-USDC) всё ещё проходят здесь. |
| v5 | см. reference/program-addresses | 2 | Добавлен второй слот вознаграждения и пополнения в стиле AddReward. |
| v6 | см. reference/program-addresses | 5 | Текущая версия. Расширенные слоты, более чистый интерфейс администратора, поддерживает фарминг позиций CLMM через специфичный для v6 адаптер (редко на практике). |
raydium.farm как единый фасад — версия определяется владельцем счёта фермы. При создании интеграций в цепи вы должны осуществлять диспетчеризацию вручную.
Бухгалтерия “вознаграждение на акцию”
Программа фермы использует стандартный паттерн “master-chef”, встречающийся во всех DeFi контрактах выхода:reward_per_shareхранится в счёте фермы как счётчик с фиксированной точкой (Q64.64 в v5+, Q56.8 в v3). Он только растёт.user.reward_debt— это снимокreward_per_shareпри последнем взаимодействии пользователя. Это не долг, который должен пользователь; это смещение, используемое для расчёта будущих начислений.- При
DepositиWithdrawферма сначала рассчитывает отложенные вознаграждения (кредитуяuser.pending_rewardили отправляя прямо на ATA пользователя, в зависимости от версии), затем обновляетuser.reward_debtна текущий счётчик. - При
Harvestферма выплачиваетpending_rewardи снова делает снимокreward_debt.
Deposit, Withdraw, Harvest, обновление администратора). Фермы без активности накапливают растущий разрыв, который закрывается при следующем взаимодействии.
Токен для ставок vs токен вознаграждения
Токен для ставок хранится под опекой, а не сжигается. Когда пользователь ставит 100 LP, ферма перемещает 100 LP из ATA пользователя в хранилище ставок фермы. ПриWithdraw ферма перемещает 100 LP обратно. Ферма никогда не вызывает пул.
Токены вознаграждения выплачиваются из хранилищ, предварительно финансируемых создателем. Когда создатель запускает ферму, он вносит полный бюджет вознаграждения (скажем, 1 000 000 RAY + 500 000 USDC) в два хранилища вознаграждений. Программа фермы не выпускает новые токены; она просто распределяет то, что находится в хранилище, в течение периода потока. Если хранилище исчерпано до end_time, эмиссия останавливается.
Расписания эмиссии
Каждый поток вознаграждения имеет три временных параметра:start_time— UNIX-временная метка, в которую начинается эмиссия. До этого нет начисления.end_time— временная метка, в которую эмиссия останавливается. После этогоreward_per_shareперестаёт расти от этого потока.per_second— скорость эмиссии, покаstart_time ≤ now < end_time.
end_time вперёд, пополнить хранилище) через AddReward / SetRewards на v5 / v6. Его можно перезапустить после end_time через RestartRewards. Его нельзя сократить без участия администратора.
Что фермы не являются
- Не распределитель комиссий. CPMM и CLMM собирают комиссии за торговлю непосредственно в состояние пула. Фермы не трогают комиссии пула. Единственный путь от комиссий пула к держателю токена — это погашение LP или
CollectFeeCLMM. - Не автоматические. LP должны быть явно внесены в ставку, чтобы получать награды фермы. Держатели LP, которые оставляют свои токены в кошельке, не получают ничего от фермы.
- Не взаимозаменяемые. Каждый счёт
UserStakeпривязан к одной паре(farm, user). Вы не можете передать свою ставку на другой кошелёк без предварительного вывода. - Не совместимы с позициями CLMM напрямую. Farm v6 представил адаптер CLMM, но на практике пулы CLMM используют свои встроенные потоки вознаграждений (см.
products/clmm/fees) вместо эмиссий фермы.
Когда фермы — правильный выбор
Используйте ферму, когда вы хотите:- Стимулировать LP для одного из пулов CPMM или AMM v4 вашего проекта с помощью внешнего токена (токена вашего проекта, токена партнера и т.д.).
- Запустить программу ставок на единый токен (классическая “ставка RAY, получай RAY”) без развёртывания собственного контракта.
- Наложить дополнительные вознаграждения поверх существующего пула без необходимости доступа администратора к этому пулу.
Содержание главы
accounts— полное макет состояния в цепи по версиям.instructions— каждая инструкция фермы со списком счётов и предусловиями/постусловиями.code-demos— примеры TypeScript для ставок, сбора урожая и создания новой фермы.
Куда идти дальше
products/clmm/fees— сравните эмиссии фермы с встроенной моделью вознаграждений CLMM.reference/program-addresses— три идентификатора программы фермы.protocol-overview/versions-and-migration— когда использовать каждую версию фермы.
- Farm v6 IDL в составе SDK:
raydium-io/raydium-sdk-V2вsrc/raydium/farm/. - Модуль
FarmRaydium SDK v2


