حال ہی میں ، ایف ایم زیڈ پلیٹ فارم نے ہائپر لیکوڈ ڈی ای ایکس ، ایک اعلی کارکردگی کا حامل غیر مرکزی تبادلہ کے لئے معاونت شامل کی ہے ، جس سے صارفین کو غیر مرکزی تجارت میں حصہ لینے کے لئے مزید اختیارات فراہم ہوتے ہیں۔ فی الحال ، ہائپر لیکوڈ
ہائپر مائع پلیٹ فارم کا جائزہ
ہائپر لیکویڈ ایک اعلی کارکردگی کا حامل ایل ون بلاکچین ہے جسے شروع سے ہی بہتر بنایا گیا ہے ، جس کا مقصد مکمل طور پر آن چین اوپن فنانشل سسٹم کی تعمیر کرنا ہے۔ صارفین ایک ہموار اختتامی صارف کے تجربے کو یقینی بناتے ہوئے موثر مقامی اجزاء کے ساتھ تعامل کرکے آزادانہ طور پر ایپلی کیشنز تشکیل دے سکتے ہیں۔
ہائپر لیکوڈ ایل 1
کی کارکردگی بغیر اجازت کے مالیاتی ایپلی کیشنز کے ماحولیاتی نظام کی حمایت کے لئے کافی ہے۔ تمام آرڈرز ، واپسی ، لین دین اور معاوضے مکمل طور پر شفاف انداز میں چین میں مکمل ہوتے ہیں ، جس میں بلاک تاخیر 1 سیکنڈ سے بھی کم ہوتی ہے۔ فی الحال ، چین فی سیکنڈ 100،000 آرڈر تک پروسیسنگ کی گنجائش کی حمایت کرتا ہے۔ ہائپر مائع ایل 1 ایک کسٹم اتفاق رائے الگورتھم کا استعمال کرتا ہے جسے ہائپر بی ایف ٹی کہا جاتا ہے ، جو ہاٹ اسٹاف اور اس کے بعد کے الگورتھم سے متاثر ہے۔ اتفاق رائے میکانزم اور نیٹ ورک فن تعمیر دونوں کو نیچے سے اوپر تک بہتر بنایا گیا ہے تاکہ اعلی کارکردگی والے بلاکچین کی ضروریات کو پورا کیا جاسکے۔
اس گائیڈ کے ذریعے، ہم امید کرتے ہیں کہ آپ کو ایف ایم زیڈ پلیٹ فارم پر ہائپر لیکویڈ ڈی ای ایکس پر تیزی سے پروگراماتی اور مقداری تجارت شروع کرنے اور مزید تجارتی مواقع دریافت کرنے میں مدد ملے گی۔
REST پروٹوکول
ویب ساکٹ پروٹوکول
ایف ایم زیڈ پلیٹ فارم کے پلیٹ فارم کا صفحہ شامل کریں پر ، آپ ہائپر لیکوڈ اسپاٹ اور فیوچر ایکسچینج اشیاء کو تشکیل دے سکتے ہیں:
مین نیٹ اے پی پی ایڈریس:
اصل استعمال میں ، مرکزی نیٹ ورک نسبتا stable مستحکم ہے اور اس کی رفتار اچھی ہے۔
متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس ہے:https://api.hyperliquid.xyz
.
پیغام کے دستخط سے متعلق معلومات بھی مختلف ہیں:source == "a",chainId = 42161
.
ٹیسٹ نیٹ ورک اے پی پی ایڈریس:
ٹیسٹ نیٹ ورک اکثر کریش ہوجاتا ہے ، لیکن یہ صرف ٹیسٹ انٹرفیس کے طور پر اور ڈی ای ایکس پر تجارتی افعال سے واقف ہونے کے لئے استعمال ہوتا ہے۔
متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس ہے:https://api.hyperliquid-testnet.xyz
.
پیغام کے دستخط سے متعلق معلومات بھی مختلف ہیں:source == "b",chainId = 421614
.
جیسا کہ زیادہ تر ڈی ای ایکس ایکسچینج کے بٹوے سے رابطہ کرنے کا طریقہ ہے ، آپ بٹوے اے پی پی کا استعمال کرکے ہائپر لیکویڈ سے رابطہ قائم کرنے کے لئے کیو آر کوڈ کو اسکین کرسکتے ہیں (بٹوے کو آربٹرم میں تبدیل کریں اور لاگ ان کرنے کے لئے کوڈ اسکین کریں ، ٹیسٹ نیٹ ورک اور مین نیٹ ورک ایک جیسے ہیں۔)
آپ ٹیسٹ اثاثوں کا دعوی کرسکتے ہیں۔ ٹیسٹنگ کے لئے یو ایس ڈی سی موصول ہونے کے بعد ، اسے ہائپر لیکویڈ میں جمع کرنے کے لئے
جمع کرنے کے لیے
ہائپر لیکویڈ اے پی پی پیج پر دستی لین دین کرتے وقت ، صفحہ خود بخود ایک پراکسی والیٹ ایڈریس اور نجی کلید تیار کرے گا ، جو براؤزر میں ریکارڈ کیے جاتے ہیں اور براؤزر پیج پر آرڈر دینے جیسے کاموں کے لئے استعمال ہوتے ہیں۔ لہذا اگر ہم پروگراماتی اور مقداری تجارت کرنا چاہتے ہیں تو ، ہم اس ترتیب کی معلومات کیسے حاصل کرتے ہیں؟
آپ Hyperliquid API صفحہ پر مطلوبہ پراکسی پرس ایڈریس اور اسی نجی کلید تشکیل دے سکتے ہیں:
اس کے بعد آپ FMZ پلیٹ فارم پر اس معلومات کو تشکیل دے سکتے ہیں (ترتیب انٹرفیس اوپر ذکر کیا گیا ہے).
والیٹ ایڈریس: Hyperliquid سے منسلک والیٹ ایڈریس (نوٹ، پراکسی والیٹ ایڈریس نہیں) ۔ والٹ پرائیویٹ کی: والٹ پرائیویٹ کی جو Hyperliquid سے منسلک ہے (اختیاری ، صرف API جیسے ٹرانسفرز کو کال کرنے پر ضروری ہے ، اسے خالی چھوڑا جاسکتا ہے) ۔ خفیہ کلید: پراکسی پرس کی نجی کلید (پچھلے مرحلے میں پیدا، اجازت کے بعد ظاہر نجی کلید).
تبادلہ آبجیکٹ کی تشکیل کے لئے درکار معلومات:
ایک بار جب تشکیل مکمل ہوجائے تو ، ہم اسے ایف ایم زیڈ پلیٹ فارم پر جانچ سکتے ہیں۔ ہم براہ راست ٹیسٹنگ کی مشق کے لئے ایف ایم زیڈ پلیٹ فارم کے
اگر آپ ٹیسٹ نیٹ کی معلومات کے ساتھ تشکیل شدہ ہائپر مائع تبادلہ آبجیکٹ استعمال کررہے ہیں تو ، آپ کو اس کا استعمال کرتے وقت کچھ سوئچنگ آپریشن کرنے کی ضرورت ہوگی ، مثال کے طور پر:
function main() {
// REST protocol API address switched to testnet
exchange.SetBase("https://api.hyperliquid-testnet.xyz")
// source : a Mainnet, b Testnet
exchange.IO("source", "b")
return exchange.GetAccount()
}
مین نیٹ کی تشکیل کے لئے مذکورہ بالا سوئچنگ آپریشن کی ضرورت نہیں ہے۔ ہائپر لیکوڈ ڈی ای ایکس ایکسچینج میں اسپاٹ اور فیوچر مصنوعات سے متعلق API انٹرفیس تقریبا ایک جیسے ہیں ، تفصیلات میں صرف معمولی اختلافات کے ساتھ۔ اگلا ہم استعمال کرتے ہیںانتہائی مائع مستقبلتبادلے کے مقاصدمین نیٹ کی تشکیل کی معلوماتاورٹیسٹ نیٹ کی تشکیل کی معلوماتٹیسٹنگ کے لیے۔
function main() {
var markets = exchange.GetMarkets()
if (!markets) {
throw "get markets error"
}
var tbl = {
type: "table",
title: "test markets",
cols: [
"key", "Symbol", "BaseAsset", "QuoteAsset", "TickSize", "AmountSize", "PricePrecision", "AmountPrecision", "MinQty",
"MaxQty", "MinNotional", "MaxNotional", "CtVal", "CtValCcy"
],
rows: []
}
for (var symbol in markets) {
var market = markets[symbol]
tbl.rows.push([
symbol, market.Symbol, market.BaseAsset, market.QuoteAsset, market.TickSize, market.AmountSize,
market.PricePrecision, market.AmountPrecision, market.MinQty, market.MaxQty, market.MinNotional, market.MaxNotional, market.CtVal, market.CtValCcy
])
}
LogStatus("`" + JSON.stringify(tbl) + "`")
}
function main() {
var depth = exchange.GetDepth("ETH_USD.swap")
var asks = depth.Asks
var bids = depth.Bids
Log("asks 3", bids[2])
Log("asks 2", bids[1])
Log("asks 1", bids[0])
Log("bids 1", asks[0])
Log("bids 2", asks[1])
Log("bids 3", asks[2])
}
function main() {
var account = exchange.GetAccount()
return account
}
فنکشن کے نتائج:
function main() {
var symbols = ["ETH_USD.swap", "XRP_USD.swap", "HYPE_USD.swap"]
var arrDir = ["market_buy", "sell", "buy"]
var markets = exchange.GetMarkets()
var ids = []
for (var i in symbols) {
var symbol = symbols[i]
var side = arrDir[i]
var ticker = exchange.GetTicker(symbol)
var info = markets[symbol]
exchange.SetPrecision(info.PricePrecision, info.AmountPrecision)
// USDC
var qty = 15
var price = null
var amount = null
if (side == "market_buy") {
price = -1
side = "buy"
amount = qty / ticker.Last
} else {
price = side == "buy" ? ticker.Last * 0.9 : ticker.Last * 1.1
amount = qty / price
}
var id = exchange.CreateOrder(symbol, side, price, amount)
ids.push(id)
}
var tbl = {type: "table", title: "test", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
for (var id of ids) {
var order = exchange.GetOrder(id)
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
Sleep(500)
}
LogStatus("`" + JSON.stringify(tbl) + "`")
}
function main() {
var orders = exchange.GetOrders("USD.swap")
for (var order of orders) {
exchange.CancelOrder(order.Id, order)
Sleep(1000)
}
var tbl = {type: "table", title: "test", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
for (var order of orders) {
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
}
LogStatus("`" + JSON.stringify(tbl) + "`")
}
function main() {
// Set the current position to cross position
exchange.IO("cross", true)
// Set leverage
exchange.SetMarginLevel("ETH_USD.swap", 10)
return exchange.GetRawJSON()
}
فنکشن کے نتائج:
exchange.GetRawJSON() لیوریج سیٹنگ کی درخواست کی جواب کی معلومات واپس کرتا ہے:
{
status : ok , response :{ type : default }}
چونکہ تبادلے کے انٹرفیس پیرامیٹرز نسبتا پیچیدہ ہیں اور یو آر ایل کوڈنگ کے طریقہ کار کا استعمال کرتے ہوئے منتقل نہیں کیا جا سکتا ہے، جب استعمال کرتے ہوئےexchange.IOfunction
کالز ، صرف JSON تاروں کو پیرامیٹرز کے طور پر منتقل کیا جاسکتا ہے۔ مندرجہ ذیل مختلف انٹرفیس کالوں کی مثالیں ہیں۔
ہائپر لیکویڈ ریفرنس دستاویزات:https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order
var params = {"type": "scheduleCancel", "time": new Date().getTime()}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
{
status 1000000۔ تجارت:174.57424.”}: err , response : جب تک کافی حجم کی تجارت نہیں کی جاتی تب تک شیڈول منسوخ کرنے کا وقت مقرر نہیں کیا جاسکتا۔ ضرورت:
اس فنکشن میں پابندیاں ہیں: اس فنکشن کو استعمال کرنے کے لئے اکاؤنٹ کو ٹریڈنگ کی سطح تک پہنچنا ضروری ہے۔
ایک TWAP حکم تخلیق.
function main() {
var params = {
"type": "twapOrder",
"twap": {
"a": 0,
"b": true,
"s": "1",
"r": false,
"m": 10,
"t": false
}
}
// SOL_USDT.swap , Order Quantity: 1 , twapOrder order has position requirement, minimum value of 100 USD
// a: 0, i.e. SOL_USDT.swap
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
TWAP حکم منسوخ کریں.
function main() {
var params = {
"type": "twapCancel",
"a": 0,
"t": 3805
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
ٹیسٹ نیٹ، ایک نئے پراکسی پرس کی اجازت.
function main() {
var params = {
"type": "approveAgent",
"hyperliquidChain": "Testnet",
"signatureChainId": "0x66eee",
"agentAddress": "0xAAAA",
"agentName": "test02",
"nonce": new Date().getTime()
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
اجازت نامہ کامیابی سے، واپسی:
{
status : ok , response :{ type : default }}
https://app.hyperliquid-testnet.xyz/API
.خزانے سے اثاثے نکالیں.
function main() {
var params = {
"type": "vaultTransfer",
"vaultAddress": "0xAAA",
"isDeposit": true,
"usd": 5000000
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
ٹیسٹ نیٹ، بٹوے پر اثاثوں کو واپس لے لو.
function main() {
var params = {
"type": "withdraw3",
"hyperliquidChain": "Testnet",
"signatureChainId": "0x66eee",
"amount": "5",
"time": new Date().getTime(),
"destination": "0xAAA"
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
اسپاٹ / فیوچر کے درمیان اثاثوں کی منتقلی (مستقل معاہدے) ۔
function main() {
var params = {
"type": "usdClassTransfer",
"hyperliquidChain": "Testnet",
"signatureChainId": "0x66eee",
"amount": "5",
"toPerp": false,
"nonce": new Date().getTime()
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
false
، گردش کی سمت کی نشاندہی کرتا ہے: فیوچر -> اسپاٹ۔true
، گردش کی سمت کا اشارہ: اسپاٹ -> فیوچر۔مرکزی نیٹ ورک WS انٹرفیس ایڈریس:
مین نیٹ: wss://api.hyperliquid.xyz/ws
چونکہ REST پروٹوکول API انٹرفیس میں حالیہ ٹرانزیکشن ڈیٹا حاصل کرنے کے لئے کوئی انٹرفیس نہیں ہے ، لہذا ویب ساکٹ انٹرفیس میں یہ چینل موجود ہے جس کی خریداری کی جاسکتی ہے۔
سبسکرپشن پیغام کی ساخت
{
"method": "subscribe",
"subscription": {
"type": "trades",
"coin": "SOL"
}
}
ڈیبگنگ ٹولز میں انجام دینے والے ٹیسٹ کا مثال:
function main() {
var loopCount = 20
var subMsg = {
"method": "subscribe",
"subscription": {
"type": "trades",
"coin": "SOL"
}
}
var conn = Dial("wss://api.hyperliquid.xyz/ws")
conn.write(JSON.stringify(subMsg))
if (conn) {
for (var i = 0; i < loopCount; i++) {
var msg = conn.read(1000)
if (msg) {
Log(msg)
}
}
}
conn.close()
Log("End of test")
}
مذکورہ بالا ٹیسٹ تازہ ترین ڈوکر پر مبنی ہیں۔ آپ کو ہائپر مائع ڈی ای ایکس ایکسچینج کی حمایت کرنے کے لئے تازہ ترین ڈوکر ڈاؤن لوڈ کرنے کی ضرورت ہے۔
آپ کی حمایت اور پڑھنے کے لئے شکریہ.