如何检索 Solana 代币互换计划的市场 ID?
How can I retrieve market ids for Solana token swap program?
在 Solana 主网上有两个 spl 代币的铸造地址,我需要找到 Solana 上可用的所有可能市场的 public 键(即以下代码片段中的 marketId
)以获得代币交换信息来自:
const tokenSwap = await TokenSwap.loadTokenSwap(
con,
new PublicKey(marketId),// << HERE
TOKEN_SWAP_PROGRAM_ID,
payerAaccount
);
我无法在 github 或其他任何地方找到任何存储库(类似于 Raydium 或 Serum lp 地址)。我在哪里可以找到 spl 代币互换计划的流动市场列表? and/or 是否有任何其他方法可以根据代币铸造地址计算或检索代币兑换信息?
要获取两个铸币厂地址的市场地址,您需要完成几个步骤。
- 获取令牌交换程序的所有程序帐户:https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts
- 通过解码将每个反序列化为
TokenSwap
类型,例如https://github.com/solana-labs/solana-program-library/blob/07bf49fdb820f8e3a40550998723e4878506af0b/token-swap/js/src/index.ts#L258
- 检查
mintA
和 mintB
是否符合预期:https://github.com/solana-labs/solana-program-library/blob/07bf49fdb820f8e3a40550998723e4878506af0b/token-swap/js/src/index.ts#L65
但是请注意,当前的 TOKEN_SWAP_PROGRAM_ID
已被 Serum 弃用,转而使用 Serum 订单簿。您可能必须使用他们的 Serum SDK,或 Raydium 的 SDK 才能与这些程序交互。
在 Solana 主网上有两个 spl 代币的铸造地址,我需要找到 Solana 上可用的所有可能市场的 public 键(即以下代码片段中的 marketId
)以获得代币交换信息来自:
const tokenSwap = await TokenSwap.loadTokenSwap(
con,
new PublicKey(marketId),// << HERE
TOKEN_SWAP_PROGRAM_ID,
payerAaccount
);
我无法在 github 或其他任何地方找到任何存储库(类似于 Raydium 或 Serum lp 地址)。我在哪里可以找到 spl 代币互换计划的流动市场列表? and/or 是否有任何其他方法可以根据代币铸造地址计算或检索代币兑换信息?
要获取两个铸币厂地址的市场地址,您需要完成几个步骤。
- 获取令牌交换程序的所有程序帐户:https://docs.solana.com/developing/clients/jsonrpc-api#getprogramaccounts
- 通过解码将每个反序列化为
TokenSwap
类型,例如https://github.com/solana-labs/solana-program-library/blob/07bf49fdb820f8e3a40550998723e4878506af0b/token-swap/js/src/index.ts#L258 - 检查
mintA
和mintB
是否符合预期:https://github.com/solana-labs/solana-program-library/blob/07bf49fdb820f8e3a40550998723e4878506af0b/token-swap/js/src/index.ts#L65
但是请注意,当前的 TOKEN_SWAP_PROGRAM_ID
已被 Serum 弃用,转而使用 Serum 订单簿。您可能必须使用他们的 Serum SDK,或 Raydium 的 SDK 才能与这些程序交互。