#solana
#солана
Вопрос:
Я пытаюсь разместить заказ на рынке тестовой сети сыворотки (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',
})
Комментарии:
1. Привет, могу я спросить, какую библиотеку вы используете для взаимодействия с сывороткой?
Ответ №1:
К сожалению, HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1
on testnet — это просто случайная системная учетная запись, поэтому на ней не инициализирован serum market.
- Учетная запись Mainnet / Serum market: https://explorer.solana.com/address/HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1
- Учетная запись Testnet / неиспользуемая системная учетная запись: https://explorer.solana.com/address/HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1?cluster=testnet
Я думал, что некоторые рынки Serum работают в devnet, но теперь, к сожалению, я не могу их найти. Возможно, вам придется настроить все это самостоятельно, развернув программу Serum и заполнив книгу заказов. Вот несколько ресурсов, которые помогут в этом:
- Исходный код Serum, чтобы вы могли создать / развернуть программу: https://github.com/project-serum/serum-dex/tree/master/dex
- Как запустить рынок: https://docs.projectserum.com/serum-ecosystem/build-on-serum/add-a-market-on-serum-serum-academy
- Подключитесь к локальной сети и запустите рынок: https://openserum.ch/dex /
- Когда вы будете готовы, вы можете перенести все это в testnet и получить USDC с помощью крана: https://www.usdcfaucet.com /
Комментарии:
1. Спасибо за ответ, но я полагаю, что это должен быть более простой способ сделать это?
2. К сожалению, это единственный вариант, когда рынки и программа не существуют. Посмотрите вокруг, я действительно думаю, что некоторые рынки Serum существуют в devnet, но я не могу вспомнить, где они развернуты или кто их развернул. Вы можете попробовать задать вопрос в Serum / Anchor Discord: discord.gg/y63hX4YA