Serum
Serum ist ein auf Solana basierendes Protokoll für den dezentralisierten Austausch. Du kannst Serum verwenden, um neue Märkte zu schaffen, Auftragsbücher zu erhalten, Handel zu treiben und vieles mehr.
So erhalten Sie einen Serummarkt
Ein Markt auf Serum enthält alle Bestellungen und Möglichkeiten, um Bestellungen zu tätigen auf Serum. Für alles, was Sie mit Serum tun, müssen Sie den Markt kennen arbeiten mit.
import { Connection, PublicKey } from "@solana/web3.js";
import { Market } from "@project-serum/serum";
(async () => {
const marketAddress = new PublicKey(
"9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT"
);
const programAddress = new PublicKey(
"9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
);
const connection = new Connection(
"https://ssc-dao.genesysgo.net",
"confirmed"
);
const market = await Market.load(
connection,
marketAddress,
{},
programAddress
);
})();
const market = await Market.load(connection, marketAddress, {}, programAddress);
So erhalten Sie Serum-Bestellbücher
Serum-Märkte bestehen aus Orderbüchern mit Geboten und Nachfragen. Du kannst Fragen Sie diese Informationen ab, damit Sie sehen können, was auf dem Markt vor sich geht und handle entsprechend.
import { Connection, PublicKey } from "@solana/web3.js";
import { Market } from "@project-serum/serum";
(async () => {
let marketAddress = new PublicKey(
"9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT"
);
let programAddress = new PublicKey(
"9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
);
let connection = new Connection("https://ssc-dao.genesysgo.net", "confirmed");
let market = await Market.load(connection, marketAddress, {}, programAddress);
let bids = await market.loadBids(connection);
for (let [price, size] of bids.getL2(20)) {
console.log(price, size);
}
let asks = await market.loadAsks(connection);
for (let [price, size] of asks.getL2(20)) {
console.log(price, size);
}
})();
let bids = await market.loadBids(connection);
for (let [price, size] of bids.getL2(20)) {
console.log(price, size);
}
let asks = await market.loadAsks(connection);
for (let [price, size] of asks.getL2(20)) {
console.log(price, size);
}
So erhalten Sie aktuelle offene Bestellungen
Als Trader werden Sie wissen wollen, welche aktuellen offenen Orders Sie auf einem Markt haben, können Sie Ihre oder die offenen Orders anderer Personen auf einem Markt mit Serum abfragen.
import { Connection, PublicKey } from "@solana/web3.js";
import { Market } from "@project-serum/serum";
(async () => {
let trader = new PublicKey("CuieVDEDtLo7FypA9SbLM9saXFdb1dsshEkyErMqkRQq");
let marketAddress = new PublicKey(
"9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT"
);
let programAddress = new PublicKey(
"9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
);
let connection = new Connection("https://ssc-dao.genesysgo.net", "confirmed");
let market = await Market.load(connection, marketAddress, {}, programAddress);
const orders = await market.loadOrdersForOwner(connection, trader);
for (let order of orders) {
console.log(order);
}
})();
const orders = await market.loadOrdersForOwner(connection, traderPublicKey);