Skip to main content
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
真實資訊來源。 本頁是文件中唯一逐字列出程式位址的地方。其他頁面都連結到此處。如果某個 ID 變更,只在此處更新,網站上的所有參考都會保持一致。在簽署真實交易前,務必根據即時 API(https://api-v3.raydium.io/main/info)交叉驗證數值。

Mainnet-beta

經驗法則:如果野外的程式 ID 與下表不符,不要簽署交易。 程式 ID 不匹配是在 Solana 上損失資金最簡單的方式。

鏈上程式

注意事項:
  • AMM v4 和 Farm v3/v5 保留用於現有池和頭寸。Raydium UI 和 SDK 將新池建立和新生態系統農場分別路由到 CPMM、CLMM 和 Farm v6 — 見 protocol-overview/versions-and-migration
  • 上面的 Farm v3 ID 同時用作 $RAY 單資產質押程式。LP 質押的行為與 Farm v3 相同。
  • Stable AMM 是一個獨立程式,AMM 路由程式可以與 AMM v4、CPMM 和 CLMM 一起目標化。相比其他三個程式,流動性較少,SDK 不為其公開第一類 API;通常通過路由器路由的整合者通常這樣做。
  • 原始碼可用性。 在上述鏈上程式中,只有 raydium-amm(AMM v4)、raydium-cp-swap(CPMM)和 raydium-clmm(CLMM)附帶 github.com/raydium-io 下的公開原始碼儲存庫。Stable AMM、LaunchLab、AMM 路由、銷毀與賺取 / LP 鎖定和 Farm 程式不公開 — 改為根據即時 API、鏈上位元組碼和 raydium-io/raydium-idl 中發佈的 IDL 驗證它們。

共用管理員授權

所有基於 Anchor 的程式(CLMM、CPMM、LaunchLab、Lock)共用單一硬編碼管理員 Pubkey,用於指令級別存取控制到管理員路徑(例如 CreateAmmConfigUpdatePoolStatus): 帳戶級別的操作授權(例如 CPMM/CLMM AmmConfig 上的 protocol_ownerfund_owner,或 LaunchLab GlobalConfig 上的遷移錢包)儲存在鏈上,可能與程式管理員不同。在發送高風險交易前,直接從相關設定帳戶讀取它們。

CPMM 權限 PDA 建立者授權

CreatePermissionPda 接受上面的共用程式管理員或專用所有者。ClosePermissionPda 仍限制為共用程式管理員。

LaunchLab 委派設定建立者

CreateConfig 接受共用程式管理員或下面的委派授權。委派角色可以建立新的 GlobalConfig;它不能為現有帳戶呼叫管理員專用的 UpdateConfig 路徑。

CLMM 受限發行者凍結授權

當 CLMM 池中的任一保管庫鑄幣具有下面的凍結授權之一時,通過 V2 路徑開啟的新頭寸會凍結其頭寸 NFT 代幣帳戶。初始條目是 CLMM 的 Superstate 資產檢測使用的授權。這些是僅用作匹配鍵的基礎資產發行者授權。CLMM 池 PDA(而非發行者鍵)成為頭寸 NFT 鑄幣的凍結授權。 該列表在 CLMM 程式中硬編碼。新增或移除授權需要程式升級。

共用設定 / PDA 慣例

多個 Raydium 程式公開設定帳戶,其公開鍵是穩定的,並列在公開 API 上。優先使用 API 查詢而不是硬編碼:
預設 CPMM AmmConfig 索引 0(標準 0.25% 池)費用參數,供參考: products/cpmm/fees 了解分割如何組成,以及 reference/fee-comparison 了解跨產品矩陣。

PDA 種子

下面的種子是規範的,由 SDK 和鏈上 CPI 使用。始終計算 PDA;不要硬編碼衍生位址。
token0Mint / token1Mint 在雜湊前按公開鍵位元組順序排序(token0 < token1)。弄錯這一點會為不存在的池產生有效的 PDA。 等效的 CLMM 種子遵循相同的風格;見 products/clmm/accounts

Devnet

Devnet REST API 基礎:https://api-v3-devnet.raydium.io/(與 mainnet 相同的路由形狀)。

如何在鏈上驗證位址

  1. Solana Explorer。 將位址貼到 explorer.solana.com 並確認它標記為 Program 且具有目前升級授權。Mainnet-beta 應顯示由 Raydium 升級授權簽署的部署。
  2. CLI。 使用 solana program show <PROGRAM_ID> -u mainnet-beta 檢查部署槽、BPF 載入器、升級授權和資料長度。在你的執行手冊中記錄這些。
  3. IDL 附件。 使用 anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet 查詢鏈上 IDL。IDL 的 address 欄位應該匹配。相同的 IDL 也鏡像在 github.com/raydium-io/raydium-idl — 在信任鏈上 IDL 前,將其與儲存庫進行比較。
  4. 設定/管理員授權。 對於 CPMM/CLMM 設定帳戶,讀取 owner/protocol_owner 欄位並確認它與 security/admin-and-multisig 中發佈的目前 Raydium 多簽相符。
如果上面的四項檢查中的任何一項與本頁不符,將本頁視為錯誤,在針對位址編寫新程式碼前開啟一個議題。

更新本頁

  • 程式 ID 的變更是安全關鍵的。不要在沒有 (a) 連結到 Raydium 公告、(b) 在 reference/changelog 中新增條目,以及 (c) 在文件上執行連結檢查以確認沒有頁面仍參考舊值的情況下發佈程式 ID 變更。
  • 棄用保留在表中帶有狀態注記,而不是被刪除 — 現有池仍通過舊程式解析。
來源: