簡體   English   中英

如何在 Solana devnet 上的 Raydium 上創建流動資金池?

[英]How to create a liquidity pool on Raydium on Solana devnet?

誰能給我任何關於如何在 Solana devnet 上創建 LP 池的建議?

我計划這項工作是為了使用 Raydium 協議測試 devnet 上特定兩個令牌之間的交換。

所以,我需要先在 devnet 上創建一個交換池。 為了實現這一點,我像下面那樣做了。

首先,為了在血清市場上市,我在我的mac上克隆了Raydium-Dex存儲庫,並將Serum dex的程序ID從主網更改為devnet,並在devnet血清上成功注冊。 (帶有 SOL 對的自定義令牌)結果,我得到了一個血清市場程序 ID。

之后,我克隆了 Raydium 前端存儲庫以創建流動資金池。 並修改wellknownToken.config.ts以便我的自定義令牌可以創建一個新池。

最后,我可以從 localhost Web UI 訪問創建池 UI。 我單擊了 UI 上的 Initialize Liquidity Pool 按鈕,並收到一條 Toast 消息Create a new pool Transaction Sent顯然。

但是,它效果不佳。 因為我在 Solscan 網站上找不到交易哈希。 我跟蹤了按鈕的點擊事件代碼,我發現了一件事。

Liquidity.makeCreatePoolTransaction函數的結果值之一為空值,尤其是 feePayer。

const { transaction: sdkTransaction1, signers: sdkSigners1 } = Liquidity.makeCreatePoolTransaction({
        poolKeys: sdkAssociatedPoolKeys,
        userKeys: { payer: owner }
})
const testTx = await loadTransaction({ transaction: sdkTransaction1, signers: sdkSigners1 })
console.log('feepayer', testTx.feePayer?.toBase58()) // null

我覺得這不是在 Solana devnet 上創建交換池的首選(好)方法,但我找不到更好的方法來完成這項任務。

我錯過了什么? 或者我應該閱讀或學習什么? 請給我一些建議,告訴我如何讓它發揮作用。

謝謝。

看起來使用Liquidity.makeCreatePoolTransaction創建的交易尚未發送到網絡,因此它不存在於任何地方。 請務必在嘗試加載之前發送並確認交易。 你可以使用類似的東西:

const { transaction: sdkTransaction1, signers: sdkSigners1 } = Liquidity.makeCreatePoolTransaction({
        poolKeys: sdkAssociatedPoolKeys,
        userKeys: { payer: owner }
});
await sendAndConfirmTransaction(connection, transaction, [wallet]);

請注意,這需要connection發送和wallet簽名。 更多信息請訪問https://github.com/solana-labs/solana/blob/9ac2245970de90af30bff9d1f7f35cd2d8f2bf6d/web3.js/src/util/send-and-confirm-transaction.ts#L18

不過,您可能會遇到其他問題,因為 Raydium 程序未部署到 devnet: https ://explorer.solana.com/address/675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8?cluster=devnet

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM