[TOC]

حال ہی میں، FMZ پلیٹ فارم نے Hyperliquid DEX کے لیے سپورٹ شامل کیا ہے، جو کہ ایک اعلیٰ کارکردگی والا وکندریقرت تبادلہ ہے، جو صارفین کو وکندریقرت ٹرانزیکشنز میں حصہ لینے کے لیے مزید اختیارات فراہم کرتا ہے۔ فی الحال، FMZ پلیٹ فارم کے کسٹوڈین فنکشن کو مکمل طور پر اپ ڈیٹ کر دیا گیا ہے تاکہ Hyperliquid کے اسپاٹ اور دائمی معاہدے کے لین دین کو سپورٹ کیا جا سکے اور DEX کے تمام API افعال کا احاطہ کیا جا سکے۔
Hyperliquid پلیٹ فارم کا جائزہ
Hyperliquid ایک اعلی کارکردگی والا L1 بلاکچین ہے جو مکمل طور پر آن چین اوپن مالیاتی نظام کی تعمیر کے وژن کے ساتھ شروع سے ہی بہتر بنایا گیا ہے۔ صارف ایک ہموار اختتامی صارف کے تجربے کو یقینی بناتے ہوئے موثر مقامی اجزاء کے ساتھ بات چیت کرکے آزادانہ طور پر ایپلی کیشنز تشکیل دے سکتے ہیں۔
Hyperliquid L1 کی کارکردگی مالی ایپلی کیشنز کے بغیر اجازت کے ماحولیاتی نظام کو سپورٹ کرنے کے لیے کافی ہے۔ تمام آرڈرز، آرڈر کی واپسی، لین دین اور لیکویڈیشن مکمل طور پر شفاف طریقے سے آن چین مکمل کیے جاتے ہیں، بلاک کی تاخیر 1 سیکنڈ سے بھی کم ہوتی ہے۔ فی الحال، سلسلہ 100,000 آرڈرز فی سیکنڈ تک پروسیسنگ کی صلاحیت کو سپورٹ کرتا ہے۔
Hyperliquid L1 HyperBFT نامی ایک حسب ضرورت متفقہ الگورتھم استعمال کرتا ہے، جو Hotstuff اور اس کے جانشینوں سے متاثر ہے۔ متفقہ طریقہ کار اور نیٹ ورک کی ساخت دونوں کو اعلی کارکردگی والے بلاکچین کی ضروریات کو پورا کرنے کے لیے نیچے سے اوپر تک بہتر بنایا گیا ہے۔
اس گائیڈ کے ذریعے، ہم امید کرتے ہیں کہ FMZ پلیٹ فارم پر Hyperliquid DEX کی پروگرامی اور مقداری ٹریڈنگ کے ساتھ تیزی سے شروع کرنے میں آپ کی مدد کریں گے اور مزید تجارتی مواقع دریافت کریں گے۔
REST پروٹوکول
ویب ساکٹ پروٹوکول
FMZ پلیٹ فارم کے Add Exchange صفحہ پر، آپ Hyperliquid سپاٹ اور فیوچر ایکسچینج اشیاء کو ترتیب دے سکتے ہیں:

ماحولیاتی تقسیم زیادہ تر تبادلوں کی طرح، Hyperliquid میں ٹیسٹنگ ماحول ہوتا ہے۔
اصل استعمال کے تجربے سے، مرکزی نیٹ ورک نسبتاً مستحکم ہے اور رفتار بھی اچھی ہے۔
متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس:https://api.hyperliquid.xyz。
پیغام پر دستخط کرنے سے متعلق معلومات بھی مختلف ہیں:source == "a",chainId = 42161
ٹیسٹ نیٹ ورک اکثر کریش ہو جاتا ہے، لیکن اسے صرف ایک ٹیسٹ انٹرفیس کے طور پر استعمال کیا جاتا ہے اور DEX پر ٹریڈنگ کے افعال سے خود کو واقف کرنے کے لیے۔
متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس:https://api.hyperliquid-testnet.xyz。
پیغام پر دستخط کرنے سے متعلق معلومات بھی مختلف ہیں:source == "b",chainId = 421614
زیادہ تر DEX ایکسچینجز کے والیٹ کنکشن کے طریقہ کی طرح، آپ Hyperliquid سے منسلک ہونے کے لیے QR کوڈ کو اسکین کرنے کے لیے والیٹ APP کا استعمال کر سکتے ہیں (والٹ کو Arbitrum میں تبدیل کریں اور لاگ ان کرنے کے لیے کوڈ کو اسکین کریں، ٹیسٹ نیٹ ورک اور مین نیٹ ورک ایک جیسے ہیں) .

اگر آپ پہلے ٹیسٹ نیٹ سے واقف ہونا چاہتے ہیں، تو آپ اپنے بٹوے کو Hyperliquid سے منسلک کرنے کے بعد براہ راست Hyperliquid صفحہ پر نل تلاش کر سکتے ہیں۔

آپ جانچ کے لیے USDC حاصل کرنے کے بعد، اسے Hyperliquid میں جمع کرنے کے لیے “ڈپازٹ” بٹن پر کلک کریں (آربٹرم ٹیسٹ نیٹ ورک کے لیے کچھ ETH رکھنا بہتر ہے)۔
ڈپازٹ کرنے کے لیے “ڈپازٹ” بٹن پر کلک کریں، جس کے لیے والیٹ کی تصدیق کی ضرورت ہوتی ہے اور یہ Arbitrum پر تھوڑا سا ETH استعمال کرے گا۔
Hyperliquid APP صفحہ پر دستی لین دین کرتے وقت، صفحہ خود بخود ایک پراکسی والیٹ ایڈریس اور پرائیویٹ کلید بنائے گا، جو براؤزر میں ریکارڈ ہوتے ہیں اور اگر ہم پروگراماتی اور مقداری کام کرنا چاہتے ہیں تو براؤزر کے صفحہ پر آرڈر دینے جیسے کاموں کے لیے استعمال ہوتے ہیں۔ اس ترتیب کی معلومات حاصل کرنے کے لیے لین دین کی ضرورت کیسے ہے؟
آپ Hyperliquid API صفحہ پر مطلوبہ پراکسی والیٹ ایڈریس اور متعلقہ نجی کلید بنا سکتے ہیں:


1. بنائے جانے والے پراکسی والیٹ کو ایک نام دیں۔
2. پتہ اور نجی کلید بنائیں۔
FMZ پر پراکسی والیٹ ایڈریس اور نجی کلید کو ترتیب دیں۔
پھر آپ اس معلومات کو FMZ پلیٹ فارم پر کنفیگر کر سکتے ہیں (کنفیگریشن انٹرفیس کا اوپر ذکر کیا گیا ہے)۔
تبادلہ آبجیکٹ کو ترتیب دینے کے لیے درکار معلومات:
ایک بار کنفیگریشن مکمل ہونے کے بعد، ہم اسے FMZ پلیٹ فارم پر جانچ سکتے ہیں، ہم ٹیسٹنگ پریکٹس کے لیے FMZ پلیٹ فارم کے “ڈیبگنگ ٹول” کو براہ راست استعمال کرتے ہیں۔
اگر آپ ٹیسٹ نیٹ کی معلومات کے ساتھ تشکیل شدہ Hyperliquid ایکسچینج آبجیکٹ استعمال کر رہے ہیں، تو آپ کو اسے استعمال کرتے وقت کچھ سوئچنگ آپریشن کرنے کی ضرورت ہوگی، مثال کے طور پر:
function main() {
// REST协议API地址切换到测试网
exchange.SetBase("https://api.hyperliquid-testnet.xyz")
// source : a 主网 , b 测试网
exchange.IO("source", "b")
return exchange.GetAccount()
}
مین نیٹ کنفیگریشن کو اوپر والے سوئچنگ آپریشن کی ضرورت نہیں ہے Hyperliquid DEX ایکسچینج میں اسپاٹ اور فیوچر پروڈکٹس سے متعلق 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("买3", bids[2])
Log("买2", bids[1])
Log("买1", bids[0])
Log("卖1", asks[0])
Log("卖2", asks[1])
Log("卖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() {
// 设置当前为全仓
exchange.IO("cross", true)
// 设置杠杆
exchange.SetMarginLevel("ETH_USD.swap", 10)
return exchange.GetRawJSON()
}

exchange.GetRawJSON() لیوریج سیٹنگ کی درخواست کی جوابی معلومات واپس کرتا ہے:
{“status”:“ok”,“response”:{“type”:“default”}}
چونکہ ایکسچینج کے انٹرفیس پیرامیٹرز پیچیدہ ہیں، اس لیے پیرامیٹرز کو پاس کرنے کے لیے URL انکوڈنگ کا طریقہ استعمال کرنا ممکن نہیں ہے۔exchange.IOکسی فنکشن کو کال کرتے وقت، صرف JSON سٹرنگز کو پیرامیٹرز کے طور پر پاس کیا جا سکتا ہے ہر انٹرفیس کو کال کرنے کی مثالیں درج ذیل ہیں۔
Hyperliquid حوالہ دستاویزات: 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”:“err”,“response”:“Cannot set scheduled cancel time until enough volume traded. Required: \(1000000. Traded: \)174.57424.”}
اس فنکشن میں پابندیاں ہیں: اس فنکشن کو استعمال کرنے کے لیے اکاؤنٹ کو تجارتی سطح تک پہنچنا چاہیے۔
TWAP آرڈر بنائیں۔
function main() {
var params = {
"type": "twapOrder",
"twap": {
"a": 0,
"b": true,
"s": "1",
"r": false,
"m": 10,
"t": false
}
}
// SOL_USDT.swap , 订单量 : 1 , twapOrder 订单有头寸要求,最少100美元价值
// a : 0 , 即 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))
}
Testnet، ایک نئے پراکسی والیٹ کی اجازت دیں۔
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))
}
Testnet، پرس میں اثاثے واپس لے لیں۔
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 انٹرفیس کا پتہ:
Mainnet: wss://api.hyperliquid.xyz/ws
چونکہ REST پروٹوکول API انٹرفیس میں حالیہ لین دین کا ڈیٹا حاصل کرنے کے لیے کوئی انٹرفیس نہیں ہے، اس لیے Websocket انٹرفیس میں یہ چینل ہے جسے سبسکرائب کیا جا سکتا ہے۔
سبسکرپشن پیغام کا ڈھانچہ
{
"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("测试结束")
}

مندرجہ بالا ٹیسٹ تازہ ترین کسٹوڈین پر مبنی ہیں Hyperliquid DEX ایکسچینج کو سپورٹ کرنے کے لیے آپ کو تازہ ترین کسٹوڈین کو ڈاؤن لوڈ کرنا ہوگا۔
آپ کے تعاون کا شکریہ اور پڑھنے کے لیے آپ کا شکریہ۔