【问题标题】:How to place an order on a Serum testnet market using Solana?如何使用 Solana 在 Serum 测试网市场下订单?
【发布时间】:2022-01-15 09:53:20
【问题描述】:

就我而言,我正在尝试在 Serum 测试网市场 (SOL/USDT) 下订单。我知道我可能做错了几件事,但我无法发现它们。这是我的代码:

let connection = new web3.Connection(web3.clusterApiUrl("devnet")),
    wallet = web3.Keypair.generate();
  console.log('Airdropping some SOL');
  let airdropSignature = await connection.requestAirdrop(
    wallet.publicKey,
    web3.LAMPORTS_PER_SOL,
  );

  await connection.confirmTransaction(airdropSignature);
  let myMint = new web3.PublicKey("So11111111111111111111111111111111111111112"),
    myToken = new splToken.Token(
        connection,
        myMint,
        splToken.TOKEN_PROGRAM_ID,
        wallet
    );
  // Create associated token accounts for my token if they don't exist yet
  var ownerTokenAccount = await myToken.getOrCreateAssociatedAccountInfo(wallet.publicKey);

  console.log('Placing order...');
  let market = await handlers.fetchMarketData(new web3.PublicKey('HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1')), //SOL/USDT
    owner = ownerTokenAccount,
    payer = owner,
    res = await market.placeOrder(connection, { //TODO: Add error handling
      owner,
      payer,
      side: 'sell',
      price: 1,
      size: 1.0,
      orderType: 'limit',
    })

【问题讨论】:

    标签: solana


    【解决方案1】:

    很遗憾,testnet 上的HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1 只是一个随机的系统账号,所以并没有初始化血清市场。

    我以为某些 Serum 市场在 devnet 上运行,但现在我很遗憾找不到任何市场。您可能必须通过部署 Serum 程序并填充订单簿来自己设置这一切。这里有一些资源可以帮助解决这个问题:

    【讨论】:

    • 感谢您的回答,但我认为这应该是一种更简单的方法?
    • 不幸的是,当市场和程序不存在时,这是唯一的选择。检查一下,我真的认为 devnet 上存在一些 Serum 市场,但我不记得它们被部署到哪里,或者谁部署了它们。您可以尝试在 Serum / Anchor Discord 上提问:discord.gg/y63hX4YA
    猜你喜欢
    • 2022-06-15
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多