संसाधन लोड हो रहा है... लोड करना...

DEX एक्सचेंज क्वांटिफाइंग प्रैक्टिस ((2) -- हाइपरलिक्विड उपयोग गाइड

लेखक:आविष्कारक मात्रा - छोटे सपने, बनाया गयाः 2025-01-15 13:43:15, अद्यतनः 2025-01-15 17:08:49

[TOC]

DEX交易所量化实践(2)– Hyperliquid 使用指南

प्रस्तावना

हाल ही में, FMZ प्लेटफॉर्म ने Hyperliquid DEX के साथ एक नया समर्थन जोड़ा है, जो उपयोगकर्ताओं को विकेंद्रीकृत लेनदेन में भाग लेने के लिए और अधिक विकल्प प्रदान करता है। वर्तमान में, FMZ प्लेटफॉर्म की प्रबन्धक सुविधाओं को पूरी तरह से अद्यतन किया गया है, जो Hyperliquid के मौद्रिक और स्थायी अनुबंध लेनदेन का समर्थन करता है और DEX के सभी एपीआई कार्यों को कवर करता है।

हाइपरलिक्विड प्लेटफार्म का परिचय

हाइपरलिक्विड एक उच्च प्रदर्शन वाला L1 ब्लॉकचेन है, जिसे शून्य से अनुकूलित किया गया है, जिसका विजन एक पूरी तरह से चेन पर एक खुला वित्तीय प्रणाली का निर्माण करना है। उपयोगकर्ता कुशल मूल घटकों के साथ बातचीत करके स्वतंत्र रूप से एप्लिकेशन बना सकते हैं, जबकि टर्मिनल उपयोगकर्ता अनुभव को सुचारू रूप से सुनिश्चित करते हैं।

हाइपरलिक्विड L1 का प्रदर्शन एक बिना लाइसेंस वाले वित्तीय अनुप्रयोग पारिस्थितिकी तंत्र का समर्थन करने के लिए पर्याप्त है। सभी आदेश, निकासी, लेनदेन और निपटान पूरी तरह से पारदर्शी तरीके से श्रृंखला पर किए जाते हैं, ब्लॉक देरी 1 सेकंड से कम होती है। वर्तमान में, श्रृंखला प्रति सेकंड 100,000 आदेशों तक का समर्थन करती है।

Hyperliquid L1 में एक कस्टम आम सहमति एल्गोरिथ्म है जिसे HyperBFT कहा जाता है, जो हॉटस्टफ और उसके बाद के एल्गोरिदम से प्रेरित है। आम सहमति तंत्र और नेटवर्क आर्किटेक्चर दोनों को उच्च प्रदर्शन वाले ब्लॉकचेन की जरूरतों को पूरा करने के लिए नीचे से अनुकूलित किया गया है।

इस मार्गदर्शिका के माध्यम से, हम आशा करते हैं कि आप एफएमजेड प्लेटफॉर्म पर हाइपरलिक्विड डीईएक्स के प्रोग्रामेटिक और क्वांटिफाइड लेनदेन को जल्दी से संभालने में मदद कर सकते हैं और इससे अधिक लेनदेन के अवसरों का पता लगा सकते हैं।

व्यावहारिक सामग्री

REST प्रोटोकॉल - इंटरफेस प्रैक्टिस। - लेन-देन इंटरफ़ेस अभ्यास (ऑर्डर करना, रद्द करना) । - लेनदेन से संबंधित पूछताछ प्रथाएँ (खाता, आदेश) । - अन्य कार्य (नकद, अनुबंध हस्तांतरण, कोष प्राप्ति, परिसंपत्तियों को वॉलेट में स्थानांतरित करना आदि) ।

वेबसॉकेट प्रोटोकॉल - विनिमय सूचना सदस्यता प्रथा (REST इंटरफ़ेस में ट्रेड्स इंटरफ़ेस नहीं है, वेबसॉकेट इंटरफ़ेस के साथ पूरक है)


अतितरल

  • व्यापारिक किस्मों का विभाजन हाइपरलिक्विड को ट्रेडिंग किस्मों में विभाजित किया गया है, जैसे कि नकदी, स्थायी अनुबंध, एफएमजेड प्लेटफॉर्म पर आधारित वास्तुकला, और एफएमजेड प्लेटफॉर्म पर हाइपरलिक्विड नकदी एक्सचेंज ऑब्जेक्ट, हाइपरलिक्विड फ्यूचर्स एक्सचेंज ऑब्जेक्ट।

एफएमजेड प्लेटफॉर्म पर एक्सचेंजों को जोड़ने के पृष्ठ पर, हाइपरलिक्विड की वस्तुओं को कॉन्फ़िगर किया जा सकता हैः

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

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • पर्यावरणीय विभाजन अधिकांश एक्सचेंजों की तरह, हाइपरलिक्विड के पास परीक्षण वातावरण भी है।

    • मुख्य ऐप का पताः

    https://app.hyperliquid.xyz

    यह वास्तव में उपयोग करने के लिए महसूस करता है, मुख्य नेटवर्क अपेक्षाकृत स्थिर है, और गति अच्छी है। संबंधित REST प्रोटोकॉल एपीआई इंटरफ़ेस नोड का पताःhttps://api.hyperliquid.xyz.. संदेश के हस्ताक्षर के बारे में जानकारी भी अलग हैःsource == "a"chainId = 42161

    • परीक्षण नेटवर्क एपीपी का पताः

    https://app.hyperliquid-testnet.xyz

    टेस्टिंग नेट को अक्सर क्रैश किया जाता है, लेकिन केवल परीक्षण इंटरफ़ेस के रूप में उपयोग किया जाता है, जो DEX पर लेनदेन की सुविधाओं से परिचित है। संबंधित REST प्रोटोकॉल एपीआई इंटरफ़ेस नोड का पताःhttps://api.hyperliquid-testnet.xyz.. संदेश के हस्ताक्षर के बारे में जानकारी भी अलग हैःsource == "b"chainId = 421614

वॉलेट कनेक्शन, लॉगिन और कॉन्फ़िगरेशन

जैसा कि अधिकांश DEX एक्सचेंजों में किया जाता है, Wallet APP का उपयोग करके Hyperliquid से कनेक्ट किया जा सकता है (वॉलेट को Arbitrum पर स्विच किया जा सकता है) ।

  • Hyperliquid से कनेक्ट करें

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • परीक्षण जाल नल (USDC परिसंपत्तियों का परीक्षण करने के लिए)

यदि आप पहले परीक्षण नेटवर्क से परिचित छात्रों को चाहते हैं, तो वॉलेट को Hyperliquid से कनेक्ट करने के बाद, आप सीधे Hyperliquid पेज पर नल पा सकते हैं।

DEX交易所量化实践(2)– Hyperliquid 使用指南

परीक्षण संपत्ति प्राप्त करने के लिए, परीक्षण के लिए यूएसडीसी प्राप्त करने के बाद, Hyperliquid में जमा करने के लिए "जमा करें" बटन पर क्लिक करें।

  • यूएसडीसी परिसंपत्तियों में मुख्य नेटवर्क का प्रवेश

"डिपॉजिट" बटन पर क्लिक करें और जमा करें, वॉलेट सत्यापन की आवश्यकता है, जो Arbitrum पर ETH का थोड़ा सा खर्च करता है।

  • प्रॉक्सी वॉलेट कॉन्फ़िगरेशन बनाएं

जब Hyperliquid APP पेज पर मैन्युअल रूप से लेनदेन किया जाता है, तो पेज स्वचालित रूप से एक प्रॉक्सी वॉलेट एड्रेस और निजी कुंजी उत्पन्न करता है, जो ब्राउज़र में रिकॉर्ड किया जाता है, ब्राउज़र पेज पर नीचे दिए गए आदेशों आदि के लिए।

Hyperliquid के एपीआई पृष्ठ पर आवश्यक प्रोक्सी वॉलेट पते और संबंधित निजी कुंजी बनाई जा सकती हैः

DEX交易所量化实践(2)– Hyperliquid 使用指南

DEX交易所量化实践(2)– Hyperliquid 使用指南

  • 1, एक नाम के लिए एक एजेंट बटुआ बनाने के लिए ।

  • 2. पते और निजी कुंजी उत्पन्न करना।

  • 3. Hyperliquid से जुड़े वॉलेट का उपयोग करके एजेंट वॉलेट को अधिकृत करें.

  • एफएमजेड पर एजेंट वॉलेट पते, निजी कुंजी को कॉन्फ़िगर करें

इसके बाद FMZ के प्लेटफॉर्म पर इन सूचनाओं को कॉन्फ़िगर किया जा सकता है (कन्फ़िगरेशन इंटरफ़ेस को ऊपर देखें) ।

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

  • Wallet Address: Hyperliquid से जुड़े वॉलेट का पता (ध्यान दें, यह एजेंट वॉलेट का पता नहीं है) ।
  • Wallet PrivateKey: Hyperliquid से जुड़े वॉलेट की निजी कुंजी ((आवश्यक नहीं है, केवल उस API को कॉल करने के लिए आवश्यक है जैसे कि स्थानांतरण, खाली छोड़ दिया जा सकता है) ।)
  • Secret Key: प्रोक्सी वॉलेट प्राइवेट कुंजी ((पहले चरण में प्रोक्सी वॉलेट उत्पन्न करने के लिए, प्राधिकरण के बाद प्रदर्शित निजी कुंजी) ।

एफएमजेड पर हाइपरलिक्विड अभ्यास

एक्सचेंज ऑब्जेक्ट को कॉन्फ़िगर करने के लिए आवश्यक जानकारीः

  • Wallet Address उपयोगकर्ता लेन-देन आदि के लिए जानकारी के लिए उपयोग किया जाता है
  • वॉलेट प्राइवेट की, स्थानांतरण, स्क्रैप और अन्य कार्यों के लिए
  • गुप्त कुंजी लेनदेन से संबंधित कार्यों के लिए उपयोग की जाती है

एक बार कॉन्फ़िगरेशन पूरा हो जाने के बाद, हम एफएमजेड प्लेटफॉर्म पर इसका परीक्षण कर सकते हैं, और हम सीधे एफएमजेड प्लेटफॉर्म के "डिफ्यूजिंग टूल" का उपयोग करके परीक्षण अभ्यास कर सकते हैं।

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

यदि आप Hyperliquid एक्सचेंज ऑब्जेक्ट का उपयोग कर रहे हैं, तो आपको कुछ स्विच ऑपरेशन करने होंगे, जैसे किः

function main() {
    // REST协议API地址切换到测试网
    exchange.SetBase("https://api.hyperliquid-testnet.xyz")

    // source : a 主网 , b 测试网
    exchange.IO("source", "b")

    return exchange.GetAccount()
}

मुख्य नेटवर्क कॉन्फ़िगरेशन को स्विच करने की आवश्यकता नहीं है। Hyperliquid DEX में, वर्तमान और वायदा किस्मों से संबंधित एपीआई इंटरफ़ेस लगभग समान हैं, केवल मामूली विवरणों में अंतर है।मुख्य नेटवर्क कॉन्फ़िगरेशनऔरपरीक्षण नेटवर्क विन्यास जानकारीकाहाइपरलिक्विड वायदाएक्सचेंज ऑब्जेक्ट्स परीक्षण के लिए।

किस्म की जानकारी

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

DEX交易所量化实践(2)– Hyperliquid 使用指南

ऑर्डर की कमी के आंकड़े

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

DEX交易所量化实践(2)– Hyperliquid 使用指南

खाता संपत्ति

function main() {
    var account = exchange.GetAccount()
    return account
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

अनुसूची, चालान

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

DEX交易所量化实践(2)– Hyperliquid 使用指南

आदेश रद्द

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

DEX交易所量化实践(2)– Hyperliquid 使用指南

लीवर स्विच करें, पूर्ण स्थिति/एक-एक करके स्विच करें

function main() {
    // 设置当前为全仓
    exchange.IO("cross", true)

    // 设置杠杆
    exchange.SetMarginLevel("ETH_USD.swap", 10)

    return exchange.GetRawJSON()
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

exchange.GetRawJSON (()) लेवलिंग अनुरोध के लिए उत्तर संदेश लौटाता हैः

{status:ok,response:{type:default}}

अन्य इंटरफेस

चूंकि एक्सचेंजों के इंटरफेस पैरामीटर अपेक्षाकृत जटिल होते हैं, इसलिए यूआरएल एन्कोडिंग का उपयोग नहीं किया जा सकता है।exchange.IOफ़ंक्शन कॉल के लिए, केवल 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 , 订单量 : 1  , twapOrder 订单有头寸要求,最少100美元价值
    // a : 0 , 即 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}}

  • एक एपीआई-एजेंट वॉलेट बनाएं, जिसमें 0xAAAA उत्पन्न किए गए वॉलेट का पता (केवल एक उदाहरण) हो और इसे बनाए जाने के समय संबंधित निजी कुंजी सहेजी जाए।
  • test02 एपीआई एजेंट वॉलेट का नाम है, और यह कुंजी जोड़ी hyperliquid एपीपी पेज पर दिखाई देगी।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))
}
  • usd: 5000000 का अर्थ है 5 USDC.
  • 0xAAA: खजाने के लिए पता ।
  • isDeposit: true, नियंत्रण पहुँच।

वापस लेना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यह संकेत देता है कि आप किस दिशा में आगे बढ़ रहे हैंः spot -> futures.

वेबसॉकेट इंटरफेस का उपयोग करना

मुख्य नेटवर्क के लिए WS इंटरफ़ेस का पताः

मुख्य नेटवर्क: wss://api.hyperliquid.xyz/ws

चूंकि REST प्रोटोकॉल एपीआई इंटरफेस हाल के लेनदेन डेटा को प्राप्त नहीं करता है, इसलिए वेबसॉकेट इंटरफेस में यह चैनल सब्सक्राइब किया जा सकता है।

सदस्यता संदेश संरचना

{
    "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("测试结束")
}

DEX交易所量化实践(2)– Hyperliquid 使用指南

अंत

ऊपर दिए गए परीक्षणों के अनुसार, Hyperliquid DEX एक्सचेंज को समर्थन देने के लिए नवीनतम प्रदाता के आधार पर नवीनतम प्रदाता को डाउनलोड करना आवश्यक है।

धन्यवाद समर्थन के लिए, और पढ़ने के लिए धन्यवाद।


अधिक