4
ध्यान केंद्रित करना
1105
समर्थक

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

में बनाया: 2025-02-09 16:05:08, को अपडेट: 2025-02-19 10:37:07
comments   0
hits   195

[TOC]

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

यह DEX एक्सचेंजों के मात्रात्मक अभ्यास के बारे में तीसरा लेख है। इस बार हम वर्टेक्स प्रोटोकॉल के उपयोग गाइड का परिचय देंगे।

प्रस्तावना

पारंपरिक विकेन्द्रीकृत एक्सचेंजों (DEX) के ढांचे में, मात्रात्मक व्यापारियों को अक्सर समझौता करने की आवश्यकता होती है: या तो स्वचालित बाजार निर्माता (AMM) मॉडल की उच्च फिसलन और कम निष्पादन दक्षता को स्वीकार करें, या क्रॉस-चेन तरलता विखंडन और एकल व्युत्पन्न कार्यों की तकनीकी दुविधा में पड़ें। वर्टेक्स प्रोटोकॉल का उद्भव “विकेन्द्रीकृत + संस्थागत-स्तर” संलयन प्रयोग के माध्यम से मात्रात्मक रणनीतियों की ऑन-चेन सीमाओं को पुनर्परिभाषित कर रहा है - यहां “दो में से एक को चुनने” की दुविधा नहीं है, केवल गति, गहराई और स्वतंत्रता का अंतिम संतुलन है।

एकीकृत मल्टी-चेन लिक्विडिटी पूल, हाइब्रिड ऑर्डर बुक (CLOB) और एम्बेडेड करेंसी मार्केट को एकीकृत करने वाले पहले DEX के रूप में, वर्टेक्स “केंद्रीकृत अनुभव, विकेन्द्रीकृत आत्मा” को अपने मूल के रूप में लेता है और मात्रात्मक व्यापारियों के लिए एक अनूठा ट्रैक खोलता है:

गति और तरलता की एक नई परिभाषा

ब्लॉकचेन प्रौद्योगिकी के निरंतर विकास के साथ, पारंपरिक केंद्रीकृत एक्सचेंजों (सीईएक्स) और विकेन्द्रीकृत एक्सचेंजों (डीईएक्स) के बीच की सीमा धीरे-धीरे धुंधली हो रही है। वर्टेक्स प्लेटफॉर्म के केंद्र के रूप में, वर्टेक्स एज न केवल लेनदेन की गति और तरलता को नया रूप देता है, बल्कि क्रॉस-चेन एकीकरण के माध्यम से उत्कृष्ट ऑर्डर मिलान तकनीक और स्व-हिरासत लाभों को भी पूरी तरह से जोड़ता है, जिससे वैश्विक व्यापारियों को एक नया DeFi अनुभव मिलता है।

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

  • हाइब्रिड ऑर्डर बुक ट्रेडिंग: अल्ट्रा-फास्ट मैचिंग और ऑन-चेन सेटलमेंट के बीच सही संतुलन वर्टेक्स एज एक हाइब्रिड ऑर्डर बुक ट्रेडिंग मॉडल को अपनाता है, और इसकी मुख्य प्रौद्योगिकियों में शामिल हैं:

ऑफ-चेन ऑर्डर बुक मैचर: केवल 5-15 मिलीसेकंड की विलंबता के साथ ऑर्डर मिलान प्राप्त करने के लिए अल्ट्रा-हाई-स्पीड ऑफ-चेन मिलान तंत्र का उपयोग करता है, जो अधिकांश केंद्रीकृत एक्सचेंजों के बराबर है; ऑन-चेन जोखिम इंजन और एएमएम: जोखिम प्रबंधन प्रणालियां और स्वचालित बाजार निर्माता (एएमएम) प्रत्येक समर्थित श्रृंखला पर तैनात किए जाते हैं ताकि यह सुनिश्चित किया जा सके कि मिलान के बाद ऑर्डरों का निपटान सुरक्षित और पारदर्शी तरीके से किया जा सके। यह आर्किटेक्चर न केवल अत्यंत तीव्र लेनदेन प्रतिक्रिया सुनिश्चित करता है, बल्कि उपयोगकर्ताओं को ऑन-चेन निपटान के माध्यम से विकेन्द्रीकृत सुरक्षा भी प्रदान करता है, जिससे व्यापारियों को परिसंपत्ति स्व-संरक्षण की स्वतंत्रता बनाए रखते हुए CEX-स्तर के प्रदर्शन का आनंद लेने की अनुमति मिलती है।

  • एकीकृत क्रॉस-मार्जिन प्रबंधन: पूंजी के हर पैसे का कुशल उपयोग वर्टेक्स प्लेटफ़ॉर्म उपयोगकर्ताओं को एकीकृत क्रॉस-मार्जिन प्रबंधन क्षमताएँ प्रदान करता है। चाहे वह स्पॉट हो, स्थायी अनुबंध हो या एम्बेडेड फंडिंग मार्केट हो, सभी परिसंपत्तियों और स्थितियों को एकीकृत मार्जिन खाते में एकीकृत किया जा सकता है। यह डिज़ाइन उपयोगकर्ताओं को यह सुविधा देता है:

बहु-खाता फ़ंक्शन: एक ही वॉलेट में कई खातों का प्रबंधन करें और अधिक कुशलता से धन आवंटित करें; लीवरेज्ड स्पॉट पोजीशन: उच्च पूंजी दक्षता प्राप्त करने के लिए सभी परिसंपत्तियों का मार्जिन के रूप में उपयोग करें; लचीला जोखिम प्रबंधन: जोखिम जोखिम को सटीक रूप से नियंत्रित करने के लिए जमा, स्थिति और लाभ और हानि के आंकड़ों पर एकीकृत तरीके से विचार किया जाता है।

वर्टेक्स कनेक्ट करें

लॉगिन “वर्टेक्स प्रोटोकॉल” पृष्ठ का पता:

https://app.vertexprotocol.com/

अपना वॉलेट कनेक्ट करें

वर्टेक्स अधिकांश DEX के समान है। Dapp में लॉग इन करने के बाद, आपको प्राधिकरण के लिए वॉलेट से कनेक्ट करना होगा। वर्टेक्स की उप-खाता प्रणाली एक लेबल के आधार पर प्रतिष्ठित है। लेबल उप-खाता वॉलेट पता प्राप्त करने के लिए वॉलेट पते की गणना में भाग लेता है। इसी समय, यह पता ऑर्डर और अन्य संचालन करने के लिए अधिकृत है।

उदाहरण के लिए, उपयोग करेंWalletConnectकनेक्ट करते समय वॉलेट पता है:0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43, डिफ़ॉल्ट लेबल “डिफ़ॉल्ट” है, और गणना किया गया उप-खाता पता है:0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c4364656661756c740000000000. डिफ़ॉल्ट टैग हैं:64656661756c740000000000

वर्टेक्स कई परिसंपत्तियों के रिचार्ज का समर्थन करता है। आम तौर पर, आप मार्जिन के रूप में USDC को रिचार्ज करना चुनते हैं और लेनदेन को स्थानांतरित करने के लिए सीधे कनेक्टेड वॉलेट का उपयोग करते हैं। यह ध्यान दिया जाना चाहिए कि वर्टेक्स पर निकासी, स्थानांतरण, टोकन भेजना और उप-खातों को स्थानांतरित करने जैसे संचालन यूएसडीसी का उपभोग करेंगे, और शुल्क कम नहीं हैं, इसलिए इन कार्यों को सावधानी से करने की आवश्यकता है।

किसी भिन्न श्रृंखला पर स्विच करें:

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

वर्टेक्स पर, अलग-अलग चेन में नोड्स, इंडेक्सर्स और चेन आईडी जैसी अलग-अलग कॉन्फ़िगरेशन जानकारी होती है। FMZ एनकैप्सुलेशन के लिए डिफ़ॉल्ट चेन हैArbitrum Oneउपयोग कर सकते हैंLog(HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=contracts"))चेन की आईडी, तैनात अनुबंध जानकारी आदि की क्वेरी करें।

FMZ पर कॉन्फ़िगर करें

FMZ.COM में लॉग इन करने के बाद, एक्सचेंज कॉन्फ़िगरेशन पेज पर, “क्रिप्टोकरेंसी” चुनें, वर्टेक्स एक्सचेंज चुनें, आप सीधे dapp पर वॉलेट प्रॉक्सी कुंजी को कॉन्फ़िगर कर सकते हैं। बेशक, आप वॉलेट प्राइवेट कुंजी को भी कॉन्फ़िगर कर सकते हैं। वर्टेक्स पर, आप प्रॉक्सी कुंजी प्राधिकरण / डीऑथोराइजेशन और अन्य संचालन को प्रबंधित करने के लिए इंटरफ़ेस का उपयोग कर सकते हैं, जो अधिक सुविधाजनक भी है।

प्रॉक्सी कुंजी:

उदाहरण के लिए, वर्टेक्स DEX एक्सचेंज के फ्रंट-एंड पेज पर: क्रोम ब्राउज़र (डिबगिंग चालू करें) -> एप्लिकेशन -> स्थानीय संग्रहण -> https://app.vertex -> वर्टेक्स उपयोगकर्ता सेटिंग्स

वर्टेक्स एक्सचेंज कॉन्फ़िगर करें

FMZ पर दो चीजों को कॉन्फ़िगर करने की आवश्यकता है। पहला है वॉलेट एड्रेस (हस्ताक्षर करने के लिए उपयोग की जाने वाली प्रॉक्सी कुंजी का पता नहीं, यह dapp से जुड़ा वॉलेट एड्रेस होना चाहिए)। दूसरा गुप्त कुंजी है जिसका उपयोग हस्ताक्षर करने के लिए किया जाता है (यह वॉलेट निजी कुंजी या प्रॉक्सी कुंजी हो सकती है)। चूंकि प्रॉक्सी कुंजियों का उपयोग किया जा सकता है, इसलिए कॉन्फ़िगर किया गया वॉलेट पता और कुंजी आवश्यक रूप से एक जोड़ी नहीं हैं।

वर्टेक्स की उप-खाता प्रणाली को टैग द्वारा पहचाना जाता है। FMZ पर उपयोग किया जाने वाला डिफ़ॉल्ट टैग हैdefaultयदि आपको टैग का मुख्य खाता बदलने की आवश्यकता है, तो आप इसे कोड में उपयोग कर सकते हैं:

exchange.IO("subAccountTag", "default")   // 切换到主子账号
exchange.IO("subAccountTag", "test01")    // 切换到标签名为 test01 的子账号

FMZ पर अभ्यास करें

एक्सचेंज कॉन्फ़िगरेशन जानकारी को कॉन्फ़िगर करने और एक कस्टोडियन प्रोग्राम को तैनात करने के बाद जो वर्टेक्स इंटरफ़ेस तक पहुंच सकता है, हम व्यावहारिक संचालन के लिए कुछ कोड लिखना शुरू कर सकते हैं।

हम परीक्षण के लिए मुख्य उप-खाते का उपयोग करते हैं (टैग: डिफ़ॉल्ट वाला उप-खाता), और हम उपयोग करते हैंArbitrumनेटवर्क।

बाजार की स्थिति और श्रृंखला की जानकारी

  1. अनुबंध बाज़ार की जानकारी प्राप्त करें
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) +  "`")
    return markets
}

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

यह देखा जा सकता है कि वर्टेक्स पर अनुबंध का प्रकार USDC-आधारित अनुबंध है, मार्जिन USDC है, और अनुबंध का मूल्य एक संबंधित मुद्रा का प्रतिनिधित्व करता है, उदाहरण के लिएBTC_USDC.swapअर्थात्, बीटीसी का यूएसडीसी-आधारित अनुबंध, एक अनुबंध एक बीटीसी स्थिति का प्रतिनिधित्व करता है। उपरोक्त कोड दिखाता है कि अनुबंध बाजार की जानकारी का अनुरोध कैसे करें और विभिन्न सामग्रियों को कैसे आउटपुट करें।

  1. गहन जानकारी प्राप्त करें (ऑर्डर बुक करें)
function main() {
    var depths = [{"symbol": "ETH_USDC"}, {"symbol": "SOL_USDC"}, {"symbol": "BTC_USDC"}]
    for (var ele of depths) {
        ele["depth"] = exchange.GetDepth(ele["symbol"] + ".swap")
    }

    var tbls = []
    for (var ele of depths) {
        var tbl = {"type": "table", "title": ele["symbol"], "cols": ["level", "price", "amount"], "rows": []}
        var depth = ele["depth"]
        for (var i = 0 ; i < 3 ; i++) {
            tbl["rows"].push(["卖" + (i + 1), depth.Asks[i].Price, depth.Asks[i].Amount])
        }
        tbl["rows"].reverse()
        for (var i = 0 ; i < 3 ; i++) {
            tbl["rows"].push(["买" + (i + 1), depth.Bids[i].Price, depth.Bids[i].Amount])
        }
        tbls.push(tbl)
    }

    LogStatus("`" + JSON.stringify(tbls) + "`")
}

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

  1. बाजार लेनदेन के आदेश प्रवाह की जानकारी
function main() {
    var arrTrades = [{"symbol": "ETH_USDC"}, {"symbol": "SOL_USDC"}, {"symbol": "BTC_USDC"}]
    for (var ele of arrTrades) {
        ele["trades"] = exchange.GetTrades(ele["symbol"] + ".swap")
    }

    var tbls = []
    for (var ele of arrTrades) {
        var tbl = {"type": "table", "title": ele["symbol"], "cols": ["Time", "Price", "Amount", "side"], "rows": []}
        var trades = ele["trades"]
        for (var trade of trades) {
            tbl["rows"].push([_D(trade.Time), trade.Price, trade.Amount, trade.Type == 0 ? "买入" : "卖出"])            
        }

        tbls.push(tbl)
    }

    LogStatus("`" + JSON.stringify(tbls) + "`")
}

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

  1. के-लाइन डेटा
function main() {
    let c = KLineChart({
        overlay: true
    })            

    let bars = exchange.GetRecords("SOL_USDC.swap")
    if (!bars) {
        return
    }            
    
    bars.forEach(function(bar, index) {
        c.begin(bar)
        Log(index, bar)
        c.close()
    })
}

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

FMZ रणनीति संचालन ड्राइंग DEX एक्सचेंज क्वांटिटेटिव प्रैक्टिस (3) - वर्टेक्स प्रोटोकॉल उपयोगकर्ता गाइड

  1. फंडिंग दर
function main() {
    var fundings = exchange.GetFundings()

    var tbl = {
        "type": "table",
        "title": "GetFundings",
        "cols": ["Symbol", "Interval", "Time", "Rate"],
        "rows": [],
    }
    for (var f of fundings) {
        tbl["rows"].push([f.Symbol, f.Interval / 3600000, _D(f.Time), f.Rate * 100 + " %"])
    }

    LogStatus(_D(), "\n`" + JSON.stringify(tbl) + "`")
}

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

वित्तपोषण दर चक्र 1 घंटे का है।

  1. किसी दिए गए खाते और उत्पाद के लिए ऑन-चेन डेटा और अधिकतम ऑर्डर वॉल्यूम की क्वेरी करें

Max Order Size Gets the max order size possible of a given product for a given subaccount.

function main() {
    // GET [GATEWAY_REST_ENDPOINT]/query?type=max_order_size&product_id={product_id}&sender={sender}&price_x18={price_x18}&direction={direction}
    // price_x18=3000000000000000000000 : 3000 USDC
    // product_id=4 : ETH_USDC.swap
    // sender=0x123 : e.g. 0x123

    return HttpQuery("https://gateway.prod.vertexprotocol.com/query?type=max_order_size&product_id=4&sender=0x123&price_x18=3000000000000000000000&direction=short")
}
  • स्केलिंग कारक अधिकतर है: 1e18, इसलिए: 30000000000000000000000 3000 USDC है।
  • product_id=4 ट्रेडिंग उत्पाद आईडी, 4 इथेरियम अनुबंध है, ETH_USDC.swap
  • प्रेषक उप-खाता पता है जिसकी गणना वॉलेट पते और उप-खाता टैग से की जाती है।

अंतिम अनुरोध द्वारा लौटाया गया डेटा है:{"status":"success","data":{"max_order_size":"170536415320344899"},"request_type":"query_max_order_size"} यह देखा जा सकता है कि 3000 की कीमत के साथ एथेरियम सतत अनुबंध के लिए चालू खाता उपलब्ध संपत्ति, बिक्री आदेश के लिए अधिकतम आदेश मात्रा है: 0.17 ETH

  1. वॉलेट प्राधिकरण की प्रॉक्सी कुंजी जानकारी क्वेरी करें

Linked Signer Retrieves current linked signer of a provided subaccount

function main() {
    return HttpQuery("https://gateway.prod.vertexprotocol.com/query?type=linked_signer&subaccount=0x123")
}

प्राधिकरण जानकारी मिली:

{“status”:“success”,“data”:{“linked_signer”:“0x79119…”},“request_type”:“query_linked_signer”} पता “0x79119…” वर्टेक्स फ्रंट-एंड पेज पर वॉलेट से कनेक्ट करते समय ऑर्डर लेनदेन को अधिकृत करने के लिए प्रॉक्सी पता है। इस प्राधिकरण को रद्द या जोड़ा जा सकता है (एपीआई कॉल के माध्यम से)।

व्यापार

इस लेख का मुख्य विषय निम्नलिखित है। हम लंबे समय से विकेन्द्रीकृत एक्सचेंजों पर सरलतापूर्वक और शीघ्रता से लेनदेन करने में व्यस्त हैं।

  1. ऑर्डर दें

एक सरल व्यापार का परीक्षण करें और एक सामान्य सीमा आदेश रखें।

function main() {
    var id1 = exchange.CreateOrder("ETH_USDC.swap", "buy", 2000, 0.1)
    var id2 = exchange.CreateOrder("SOL_USDC.swap", "buy", 60, 2)
    Log("ETH_USDC.swap id1:", id1)
    Log("SOL_USDC.swap id2:", id2)

    var orders = exchange.GetOrders("USDC.swap")
    var tbl = {type: "table", title: "test GetOrders", 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 एक्सचेंज क्वांटिटेटिव प्रैक्टिस (3) - वर्टेक्स प्रोटोकॉल उपयोगकर्ता गाइड

  1. ऑर्डर रद्द करना
function main() {
    var orders = exchange.GetOrders("USDC.swap")
    var tbl = {type: "table", title: "test GetOrders", 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])
        exchange.CancelOrder(order.Id)
    }

    LogStatus("`" + JSON.stringify(tbl) +  "`")
    return exchange.GetOrders()
}

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

  1. क्वेरी की स्थिति
function main() {
    // 使用市价单下单持仓
    exchange.SetCurrency("ETH_USDC")
    exchange.SetContractType("swap")
    exchange.Buy(-1, 0.01)

    var positions = exchange.GetPositions()
    var tbl = {type: "table", title: "test GetPosition/GetPositions", cols: ["Symbol", "Amount", "Price", "FrozenAmount", "Type", "Profit", "Margin", "ContractType", "MarginLevel"], rows: []}
    for (var p of positions) {
        tbl.rows.push([p.Symbol, p.Amount, p.Price, p.FrozenAmount, p.Type, p.Profit, p.Margin, p.ContractType, p.MarginLevel])
    } 

    LogStatus("`" + JSON.stringify(tbl) +  "`")
}

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

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

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

4、Trigger Order

चूँकि शीर्ष का ट्रिगर क्रम अंतबिंदु से स्वतंत्र है,exchange.IOकिसी फ़ंक्शन के लिए सशर्त ऑर्डर देते समय, आपको निर्दिष्ट करना होगाTrigger: https://trigger.prod.vertexprotocol.comतो चलिए व्यावहारिक संचालन जारी रखें।

  • नॉन्स: अगले ट्रिगर ऑर्डर के लिए नॉन्स पैरामीटर को पास करना होगा। वर्टेक्स में गणना की आवश्यकताएँ होती हैं, इसलिए उपयोग में आसानी के लिए, गणना किए गए नॉन्स को प्राप्त करने के लिए एनकैप्सुलेशन के दौरान एक विधि डिज़ाइन की गई है।
  • समाप्ति: यही आवश्यकता समाप्ति पैरामीटर पर भी लागू होती है, और गणना की गई समाप्ति भी प्राप्त की जानी आवश्यक है।
function main() {
    // isTrigger : true
    var nonce = exchange.IO("nonce", true)   // 如果是 Trigger Order 订单用到的 nonce 需要指定 isTrigger : true

    // flag , reduceOnly
    var expiration = exchange.IO("expiration", "GTC", false)  // 设置订单为GTC类型,非只减仓

    // params
    var params = {
        "place_order": {
            "product_id": 4,
            "order": {
                "sender":     "0x123...",
                "priceX18":   "4100000000000000000000",
                "amount":     "-100000000000000000",
                "expiration": expiration,
                "nonce":      nonce
            },
            "trigger": {
                "price_above": "4000000000000000000000"
            }
        }
    }

    return exchange.IO("api", "POST", "https://trigger.prod.vertexprotocol.com/v1/execute", "", JSON.stringify(params))
}

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

ट्रिगर एंडपॉइंट के अंतर्गत यह भी है:

  • सूची ट्रिगर ऑर्डर इंटरफ़ेस
  • Cancel Trigger Orders
  • Cancel Product Trigger Orders

कॉलिंग विधि प्लेस ट्रिगर ऑर्डर के समान है, इसलिए मैं यहां विवरण में नहीं जाऊंगा।

उप-खाता प्रबंधन

  1. उप-खाता टैग स्विच करें

डिफ़ॉल्ट उप-खाता टैग है:default, हम एक कस्टम टैग पर स्विच करते हैं:subAcc02

function main() {
    exchange.IO("subAccountTag", "subAcc02")

    return exchange.GetAccount()
}

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

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

उप-खाते के पते पर धन हस्तांतरित करते समय, वर्टेक्स वास्तव में यह उप-खाता बनाएगा।

  1. वर्टेक्स उप-खाते में धनराशि स्थानांतरित करें

खाते के नॉन्स को क्वेरी करने की आवश्यकता है तथा उसे पैरामीटर के रूप में ट्रांसफर इंटरफ़ेस के पैरामीटर में पास किया जाना चाहिए।

https://gateway.prod.vertexprotocol.com/v1/query?type=nonces&address=0x6B3f11d807809B0b1E5e3243df04a280d9F94bF4

function main() {
    var ret = HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=nonces&address=0x123...")
    var obj = JSON.parse(ret)
    var nonce = obj["data"]["tx_nonce"]
    Log("nonce:", nonce)

    var params = {
        "transfer_quote": {
            "tx": {
                // default -> subAcc02
                "sender":    "0xabc...",  // default
                "recipient": "0xdef...",  // subAcc02
                "amount":    "7000000000000000000",
                "nonce":     nonce
            }
        }
    }

    return exchange.IO("api", "POST", "https://gateway.prod.vertexprotocol.com/v1/execute", "", JSON.stringify(params))
}

उदाहरण के लिए: 0xabc… डिफ़ॉल्ट टैग के साथ उप-खाता पते से मेल खाता है। 0xdef… टैग subAcc02 के साथ उप-खाता पते से मेल खाता है। 0x123… वॉलेट पता है.

तरलता टोकनों की निकासी, खनन/विनाश, आदि।

  1. वर्टेक्स से वॉलेट में सिक्के निकालें
function main() {
    var ret = HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=nonces&address=0x123...")
    var obj = JSON.parse(ret)
    var nonce = obj["data"]["tx_nonce"]
    Log("nonce:", nonce)

    var params = {
        "withdraw_collateral": {
            "tx": {
                "sender":    "0xabc...",  // default
                "productId": 0,           // USDC : 0 , precision : 6
                "amount":    "10000000",  // 10 USDC
                "nonce":     nonce
            }
        }
    }

    return exchange.IO("api", "POST", "https://gateway.prod.vertexprotocol.com/v1/execute", "", JSON.stringify(params))
}

USDC की परिशुद्धता पर ध्यान दें।

  1. मिंटिंग एल.पी.
function main() {
    var ret = HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=nonces&address=0x123...")
    var obj = JSON.parse(ret)
    var nonce = obj["data"]["tx_nonce"]
    Log("nonce:", nonce)

    var params = {
        "mint_lp": {
            "tx": {
                "sender":          "0xabc...",  // default
                "productId":       31,          // USDT_USDC
                "amountBase":      "10000000000000000000",
                "quoteAmountLow":  "9999900000000000000",
                "quoteAmountHigh": "10100000000000000000",
                "nonce":           nonce,
            }
        }
    }

    return exchange.IO("api", "POST", "https://gateway.prod.vertexprotocol.com/v1/execute", "", JSON.stringify(params))
}

ट्रेडिंग जोड़ों के लिए मिंट एलपी टोकनUSDT_USDCएक्सचेंज पूल तरलता बढ़ाता है।

  1. एल.पी. नष्ट करें
function main() {
    var ret = HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=nonces&address=0x123...")
    var obj = JSON.parse(ret)
    var nonce = obj["data"]["tx_nonce"]
    Log("nonce:", nonce)

    var params = {
        "burn_lp": {
            "tx": {
                "sender":    "0xabc...",            // default
                "productId": 31,                    // USDT_USDC
                "amount":    "7500000000000000000", 
                "nonce":     nonce,
            }
        }
    }

    return exchange.IO("api", "POST", "https://gateway.prod.vertexprotocol.com/v1/execute", "", JSON.stringify(params))
}

वेबसॉकेट इंटरफ़ेस

वेबसॉकेट इंटरफ़ेस समापन बिंदु:wss://gateway.prod.vertexprotocol.com/v1/ws

[🚧🚧🚧ing…]

END

उपरोक्त परीक्षण नवीनतम कस्टोडियन पर आधारित हैं। Vertex DEX एग्रीगेटर का समर्थन करने के लिए आपको नवीनतम कस्टोडियन डाउनलोड करना होगा।

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