وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ڈی ای ایکس ایکسچینجز کی مقداری مشق (2) -- ہائپر لیکویڈ صارف گائیڈ

مصنف:FMZ~Lydia, تخلیق: 2025-01-16 10:57:22, تازہ کاری: 2025-01-16 10:59:23

پیش لفظ

حال ہی میں ، ایف ایم زیڈ پلیٹ فارم نے ہائپر لیکوڈ ڈی ای ایکس ، ایک اعلی کارکردگی کا حامل غیر مرکزی تبادلہ کے لئے معاونت شامل کی ہے ، جس سے صارفین کو غیر مرکزی تجارت میں حصہ لینے کے لئے مزید اختیارات فراہم ہوتے ہیں۔ فی الحال ، ہائپر لیکوڈ کے اسپاٹ اور دائمی معاہدے کی تجارت کی حمایت کرنے کے لئے ایف ایم زیڈ پلیٹ فارم کی ڈوکر فنکشن کو مکمل طور پر اپ ڈیٹ کیا گیا ہے ، اور ڈی ای ایکس کے تمام اے پی آئی افعال پر محیط ہے۔

ہائپر مائع پلیٹ فارم کا جائزہ

ہائپر لیکویڈ ایک اعلی کارکردگی کا حامل ایل ون بلاکچین ہے جسے شروع سے ہی بہتر بنایا گیا ہے ، جس کا مقصد مکمل طور پر آن چین اوپن فنانشل سسٹم کی تعمیر کرنا ہے۔ صارفین ایک ہموار اختتامی صارف کے تجربے کو یقینی بناتے ہوئے موثر مقامی اجزاء کے ساتھ تعامل کرکے آزادانہ طور پر ایپلی کیشنز تشکیل دے سکتے ہیں۔

ہائپر لیکوڈ ایل 1 کی کارکردگی بغیر اجازت کے مالیاتی ایپلی کیشنز کے ماحولیاتی نظام کی حمایت کے لئے کافی ہے۔ تمام آرڈرز ، واپسی ، لین دین اور معاوضے مکمل طور پر شفاف انداز میں چین میں مکمل ہوتے ہیں ، جس میں بلاک تاخیر 1 سیکنڈ سے بھی کم ہوتی ہے۔ فی الحال ، چین فی سیکنڈ 100،000 آرڈر تک پروسیسنگ کی گنجائش کی حمایت کرتا ہے۔

ہائپر مائع ایل 1 ایک کسٹم اتفاق رائے الگورتھم کا استعمال کرتا ہے جسے ہائپر بی ایف ٹی کہا جاتا ہے ، جو ہاٹ اسٹاف اور اس کے بعد کے الگورتھم سے متاثر ہے۔ اتفاق رائے میکانزم اور نیٹ ورک فن تعمیر دونوں کو نیچے سے اوپر تک بہتر بنایا گیا ہے تاکہ اعلی کارکردگی والے بلاکچین کی ضروریات کو پورا کیا جاسکے۔

اس گائیڈ کے ذریعے، ہم امید کرتے ہیں کہ آپ کو ایف ایم زیڈ پلیٹ فارم پر ہائپر لیکویڈ ڈی ای ایکس پر تیزی سے پروگراماتی اور مقداری تجارت شروع کرنے اور مزید تجارتی مواقع دریافت کرنے میں مدد ملے گی۔

مشق کا مواد

REST پروٹوکول

  • مارکیٹ انٹرفیس پریکٹس.
  • ٹریڈنگ انٹرفیس کی مشق (آرڈر کی جگہ، آرڈر کی واپسی).
  • ٹرانزیکشن سے متعلق سوالات کی مشق (پوزشنز، آرڈرز)
  • دیگر افعال (اسپاٹ، معاہدہ کی منتقلی، والٹ سے نکالنے، بٹوے میں اثاثوں کی منتقلی وغیرہ) ۔

ویب ساکٹ پروٹوکول

  • تبادلے کی معلومات کی خریداری کی مشق (ریسٹ انٹرفیس میں کوئی تجارت انٹرفیس نہیں ہے ، جسے ویب ساکٹ انٹرفیس کے ذریعہ مکمل کیا گیا ہے)

ہائپر سیال

  • تجارتی اقسام ہائپر لیکویڈ کو تجارتی اقسام کی بنیاد پر اسپاٹ اور دائمی معاہدوں میں تقسیم کیا گیا ہے۔ ایف ایم زیڈ پلیٹ فارم کی فن تعمیر کی بنیاد پر ، اسے ایف ایم زیڈ پلیٹ فارم پر ہائپر لیکویڈ اسپاٹ ایکسچینج اشیاء اور ہائپر لیکویڈ فیوچر ایکسچینج اشیاء میں بھی تقسیم کیا گیا ہے ، جو بالترتیب ہائپر لیکویڈ ڈی ای ایکس میں مختلف اقسام کے مطابق ہیں۔

ایف ایم زیڈ پلیٹ فارم کے پلیٹ فارم کا صفحہ شامل کریں پر ، آپ ہائپر لیکوڈ اسپاٹ اور فیوچر ایکسچینج اشیاء کو تشکیل دے سکتے ہیں:

https://www.fmz.com/m/platforms/add

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

  • ماحولیات ڈویژن زیادہ تر تبادلے کی طرح، ہائپر مائع بھی ایک ٹیسٹنگ ماحول ہے.

مین نیٹ اے پی پی ایڈریس:

https://app.hyperliquid.xyz

اصل استعمال میں ، مرکزی نیٹ ورک نسبتا stable مستحکم ہے اور اس کی رفتار اچھی ہے۔ متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس ہے:https://api.hyperliquid.xyz. پیغام کے دستخط سے متعلق معلومات بھی مختلف ہیں:source == "a",chainId = 42161.

ٹیسٹ نیٹ ورک اے پی پی ایڈریس:

https://app.hyperliquid-testnet.xyz

ٹیسٹ نیٹ ورک اکثر کریش ہوجاتا ہے ، لیکن یہ صرف ٹیسٹ انٹرفیس کے طور پر اور ڈی ای ایکس پر تجارتی افعال سے واقف ہونے کے لئے استعمال ہوتا ہے۔ متعلقہ REST پروٹوکول API انٹرفیس نوڈ ایڈریس ہے:https://api.hyperliquid-testnet.xyz. پیغام کے دستخط سے متعلق معلومات بھی مختلف ہیں:source == "b",chainId = 421614.

بٹوے سے رابطہ، لاگ ان اور ترتیب کی معلومات

جیسا کہ زیادہ تر ڈی ای ایکس ایکسچینج کے بٹوے سے رابطہ کرنے کا طریقہ ہے ، آپ بٹوے اے پی پی کا استعمال کرکے ہائپر لیکویڈ سے رابطہ قائم کرنے کے لئے کیو آر کوڈ کو اسکین کرسکتے ہیں (بٹوے کو آربٹرم میں تبدیل کریں اور لاگ ان کرنے کے لئے کوڈ اسکین کریں ، ٹیسٹ نیٹ ورک اور مین نیٹ ورک ایک جیسے ہیں۔)

  • ہائپر لیکویڈ سے منسلک والیٹ

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

  • ٹیسٹ نیٹ لیڈر بورڈ (ڈپازٹ ٹیسٹ USDC اثاثے) اگر آپ پہلے ٹیسٹ نیٹ سے واقف ہونا چاہتے ہیں تو ، آپ اپنے بٹوے کو ہائپر لیکویڈ سے مربوط کرنے کے بعد براہ راست ہائپر لیکویڈ پیج پر لیڈر بورڈ تلاش کرسکتے ہیں۔

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

آپ ٹیسٹ اثاثوں کا دعوی کرسکتے ہیں۔ ٹیسٹنگ کے لئے یو ایس ڈی سی موصول ہونے کے بعد ، اسے ہائپر لیکویڈ میں جمع کرنے کے لئے ڈپازٹ بٹن پر کلک کریں (آربیٹرم ٹیسٹ نیٹ ورک کے لئے کچھ ای ٹی ایچ رکھنا بہتر ہے) ۔

  • مرکزی نیٹ ورک پر USDC اثاثے جمع کروائیں

جمع کرنے کے لیے ڈپازٹ بٹن پر کلک کریں، جس کے لیے پرس کی تصدیق کی ضرورت ہوتی ہے اور اس سے اربٹرم پر تھوڑا سا ای ٹی ایچ استعمال ہوگا۔

  • ایک پراکسی والیٹ ترتیب بنائیں

ہائپر لیکویڈ اے پی پی پیج پر دستی لین دین کرتے وقت ، صفحہ خود بخود ایک پراکسی والیٹ ایڈریس اور نجی کلید تیار کرے گا ، جو براؤزر میں ریکارڈ کیے جاتے ہیں اور براؤزر پیج پر آرڈر دینے جیسے کاموں کے لئے استعمال ہوتے ہیں۔ لہذا اگر ہم پروگراماتی اور مقداری تجارت کرنا چاہتے ہیں تو ، ہم اس ترتیب کی معلومات کیسے حاصل کرتے ہیں؟

آپ Hyperliquid API صفحہ پر مطلوبہ پراکسی پرس ایڈریس اور اسی نجی کلید تشکیل دے سکتے ہیں:

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

  1. بننے والے پراکسی والیٹ کا نام دیں۔
  2. ایڈریس اور نجی کلید پیدا کریں.
  3. ہائپر لیکویڈ سے منسلک والیٹ کا استعمال کرتے ہوئے پراکسی والیٹ کو اجازت دیں۔
  • ایف ایم زیڈ پر پراکسی والیٹ ایڈریس اور نجی کلید کو ترتیب دیں

اس کے بعد آپ FMZ پلیٹ فارم پر اس معلومات کو تشکیل دے سکتے ہیں (ترتیب انٹرفیس اوپر ذکر کیا گیا ہے).

https://www.fmz.com/m/platforms/add

والیٹ ایڈریس: Hyperliquid سے منسلک والیٹ ایڈریس (نوٹ، پراکسی والیٹ ایڈریس نہیں) ۔ والٹ پرائیویٹ کی: والٹ پرائیویٹ کی جو Hyperliquid سے منسلک ہے (اختیاری ، صرف API جیسے ٹرانسفرز کو کال کرنے پر ضروری ہے ، اسے خالی چھوڑا جاسکتا ہے) ۔ خفیہ کلید: پراکسی پرس کی نجی کلید (پچھلے مرحلے میں پیدا، اجازت کے بعد ظاہر نجی کلید).


ایف ایم زیڈ پر ہائپر مائع مشق

تبادلہ آبجیکٹ کی تشکیل کے لئے درکار معلومات:

  • بٹوے کا پتہ صارف کی ٹرانزیکشن کی معلومات کو استفسار کرنے کے لئے استعمال کیا جاتا ہے
  • بٹوے پرائیویٹکی منتقلی اور دیگر کارروائیوں کے لئے استعمال کیا جاتا ہے
  • خفیہ کلید ٹرانزیکشن سے متعلقہ کارروائیوں کے لئے استعمال کیا جاتا ہے

ایک بار جب تشکیل مکمل ہوجائے تو ، ہم اسے ایف ایم زیڈ پلیٹ فارم پر جانچ سکتے ہیں۔ ہم براہ راست ٹیسٹنگ کی مشق کے لئے ایف ایم زیڈ پلیٹ فارم کے ڈیبگنگ ٹول کا استعمال کرتے ہیں۔

https://www.fmz.com/m/debug

اگر آپ ٹیسٹ نیٹ کی معلومات کے ساتھ تشکیل شدہ ہائپر مائع تبادلہ آبجیکٹ استعمال کررہے ہیں تو ، آپ کو اس کا استعمال کرتے وقت کچھ سوئچنگ آپریشن کرنے کی ضرورت ہوگی ، مثال کے طور پر:

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) +  "`")
}

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

آرڈر بک ڈیٹا

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
}

فنکشن کے نتائج:

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

آرڈر اور چیک

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) +  "`")
}

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

تمام احکامات منسوخ کریں

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) +  "`")
}

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

سوئچ لیورج، سوئچ کراس/آزاد پوزیشن

function main() {
    // Set the current position to cross position
    exchange.IO("cross", true)

    // Set leverage
    exchange.SetMarginLevel("ETH_USD.swap", 10)

    return exchange.GetRawJSON()
}

فنکشن کے نتائج:

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

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:err,response:جب تک کافی حجم کی تجارت نہیں کی جاتی تب تک شیڈول منسوخ کرنے کا وقت مقرر نہیں کیا جاسکتا۔ ضرورت:1000000۔ تجارت: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 , 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منسوخ کریں

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}}

  • ایک API پراکسی والیٹ بنائیں۔ 0xAAAA پیدا شدہ والیٹ ایڈریس ہے (صرف ایک مثال) ۔ اس کی تخلیق کرتے وقت متعلقہ نجی کلید کو محفوظ کریں۔
  • test02 API پراکسی والیٹ کا نام ہے۔ پیدا کردہ کلیدی جوڑی ہائپر مائع اے پی پی کے صفحے پر ظاہر ہوگیhttps://app.hyperliquid-testnet.xyz/API.

vaultٹرانسفر کریں

خزانے سے اثاثے نکالیں.

function main() {
    var params = {
        "type": "vaultTransfer",
        "vaultAddress": "0xAAA",
        "isDeposit": true,
        "usd": 5000000
    }
    
    return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
  • usd: 5000000 کا مطلب ہے 5 USDC۔
  • 0xAAA: والٹ ایڈریس ہے.
  • isDeposit: درست، ڈپازٹ اور ڈپازٹ کو کنٹرول کرتا ہے۔

واپس لیں3

ٹیسٹ نیٹ، بٹوے پر اثاثوں کو واپس لے لو.

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))
}
  • اپنے موجودہ بٹوے کے پتے پر رقم نکالیں: 0xAAA۔

usdClassTransfer

اسپاٹ / فیوچر کے درمیان اثاثوں کی منتقلی (مستقل معاہدے) ۔

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))
}
  • پیرامیٹر toPerp پر مقرر کیا گیا ہےfalse، گردش کی سمت کی نشاندہی کرتا ہے: فیوچر -> اسپاٹ۔
  • پیرامیٹر toPerp پر مقرر کیا گیا ہے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")
}

Quantitative Practice of DEX Exchanges (2) – Hyperliquid User Guide

اختتام

مذکورہ بالا ٹیسٹ تازہ ترین ڈوکر پر مبنی ہیں۔ آپ کو ہائپر مائع ڈی ای ایکس ایکسچینج کی حمایت کرنے کے لئے تازہ ترین ڈوکر ڈاؤن لوڈ کرنے کی ضرورت ہے۔

آپ کی حمایت اور پڑھنے کے لئے شکریہ.


مزید