[TOC]
हाल ही में, FMZ प्लेटफॉर्म ने Hyperliquid DEX के साथ एक नया समर्थन जोड़ा है, जो उपयोगकर्ताओं को विकेंद्रीकृत लेनदेन में भाग लेने के लिए और अधिक विकल्प प्रदान करता है। वर्तमान में, FMZ प्लेटफॉर्म की प्रबन्धक सुविधाओं को पूरी तरह से अद्यतन किया गया है, जो Hyperliquid के मौद्रिक और स्थायी अनुबंध लेनदेन का समर्थन करता है और DEX के सभी एपीआई कार्यों को कवर करता है।
हाइपरलिक्विड प्लेटफार्म का परिचय
हाइपरलिक्विड एक उच्च प्रदर्शन वाला L1 ब्लॉकचेन है, जिसे शून्य से अनुकूलित किया गया है, जिसका विजन एक पूरी तरह से चेन पर एक खुला वित्तीय प्रणाली का निर्माण करना है। उपयोगकर्ता कुशल मूल घटकों के साथ बातचीत करके स्वतंत्र रूप से एप्लिकेशन बना सकते हैं, जबकि टर्मिनल उपयोगकर्ता अनुभव को सुचारू रूप से सुनिश्चित करते हैं।
हाइपरलिक्विड L1 का प्रदर्शन एक बिना लाइसेंस वाले वित्तीय अनुप्रयोग पारिस्थितिकी तंत्र का समर्थन करने के लिए पर्याप्त है। सभी आदेश, निकासी, लेनदेन और निपटान पूरी तरह से पारदर्शी तरीके से श्रृंखला पर किए जाते हैं, ब्लॉक देरी 1 सेकंड से कम होती है। वर्तमान में, श्रृंखला प्रति सेकंड 100,000 आदेशों तक का समर्थन करती है।
Hyperliquid L1 में एक कस्टम आम सहमति एल्गोरिथ्म है जिसे HyperBFT कहा जाता है, जो हॉटस्टफ और उसके बाद के एल्गोरिदम से प्रेरित है। आम सहमति तंत्र और नेटवर्क आर्किटेक्चर दोनों को उच्च प्रदर्शन वाले ब्लॉकचेन की जरूरतों को पूरा करने के लिए नीचे से अनुकूलित किया गया है।
इस मार्गदर्शिका के माध्यम से, हम आशा करते हैं कि आप एफएमजेड प्लेटफॉर्म पर हाइपरलिक्विड डीईएक्स के प्रोग्रामेटिक और क्वांटिफाइड लेनदेन को जल्दी से संभालने में मदद कर सकते हैं और इससे अधिक लेनदेन के अवसरों का पता लगा सकते हैं।
REST प्रोटोकॉल - इंटरफेस प्रैक्टिस। - लेन-देन इंटरफ़ेस अभ्यास (ऑर्डर करना, रद्द करना) । - लेनदेन से संबंधित पूछताछ प्रथाएँ (खाता, आदेश) । - अन्य कार्य (नकद, अनुबंध हस्तांतरण, कोष प्राप्ति, परिसंपत्तियों को वॉलेट में स्थानांतरित करना आदि) ।
वेबसॉकेट प्रोटोकॉल - विनिमय सूचना सदस्यता प्रथा (REST इंटरफ़ेस में ट्रेड्स इंटरफ़ेस नहीं है, वेबसॉकेट इंटरफ़ेस के साथ पूरक है)
एफएमजेड प्लेटफॉर्म पर एक्सचेंजों को जोड़ने के पृष्ठ पर, हाइपरलिक्विड की वस्तुओं को कॉन्फ़िगर किया जा सकता हैः
पर्यावरणीय विभाजन अधिकांश एक्सचेंजों की तरह, हाइपरलिक्विड के पास परीक्षण वातावरण भी है।
यह वास्तव में उपयोग करने के लिए महसूस करता है, मुख्य नेटवर्क अपेक्षाकृत स्थिर है, और गति अच्छी है।
संबंधित REST प्रोटोकॉल एपीआई इंटरफ़ेस नोड का पताःhttps://api.hyperliquid.xyz
..
संदेश के हस्ताक्षर के बारे में जानकारी भी अलग हैःsource == "a"
,chainId = 42161
टेस्टिंग नेट को अक्सर क्रैश किया जाता है, लेकिन केवल परीक्षण इंटरफ़ेस के रूप में उपयोग किया जाता है, जो DEX पर लेनदेन की सुविधाओं से परिचित है।
संबंधित REST प्रोटोकॉल एपीआई इंटरफ़ेस नोड का पताःhttps://api.hyperliquid-testnet.xyz
..
संदेश के हस्ताक्षर के बारे में जानकारी भी अलग हैःsource == "b"
,chainId = 421614
जैसा कि अधिकांश DEX एक्सचेंजों में किया जाता है, Wallet APP का उपयोग करके Hyperliquid से कनेक्ट किया जा सकता है (वॉलेट को Arbitrum पर स्विच किया जा सकता है) ।
यदि आप पहले परीक्षण नेटवर्क से परिचित छात्रों को चाहते हैं, तो वॉलेट को Hyperliquid से कनेक्ट करने के बाद, आप सीधे Hyperliquid पेज पर नल पा सकते हैं।
परीक्षण संपत्ति प्राप्त करने के लिए, परीक्षण के लिए यूएसडीसी प्राप्त करने के बाद, Hyperliquid में जमा करने के लिए "जमा करें" बटन पर क्लिक करें।
"डिपॉजिट" बटन पर क्लिक करें और जमा करें, वॉलेट सत्यापन की आवश्यकता है, जो Arbitrum पर ETH का थोड़ा सा खर्च करता है।
जब Hyperliquid APP पेज पर मैन्युअल रूप से लेनदेन किया जाता है, तो पेज स्वचालित रूप से एक प्रॉक्सी वॉलेट एड्रेस और निजी कुंजी उत्पन्न करता है, जो ब्राउज़र में रिकॉर्ड किया जाता है, ब्राउज़र पेज पर नीचे दिए गए आदेशों आदि के लिए।
Hyperliquid के एपीआई पृष्ठ पर आवश्यक प्रोक्सी वॉलेट पते और संबंधित निजी कुंजी बनाई जा सकती हैः
1, एक नाम के लिए एक एजेंट बटुआ बनाने के लिए ।
2. पते और निजी कुंजी उत्पन्न करना।
3. Hyperliquid से जुड़े वॉलेट का उपयोग करके एजेंट वॉलेट को अधिकृत करें.
एफएमजेड पर एजेंट वॉलेट पते, निजी कुंजी को कॉन्फ़िगर करें
इसके बाद 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 में, वर्तमान और वायदा किस्मों से संबंधित एपीआई इंटरफ़ेस लगभग समान हैं, केवल मामूली विवरणों में अंतर है।मुख्य नेटवर्क कॉन्फ़िगरेशनऔरपरीक्षण नेटवर्क विन्यास जानकारीकाहाइपरलिक्विड वायदाएक्सचेंज ऑब्जेक्ट्स परीक्षण के लिए।
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 }}
चूंकि एक्सचेंजों के इंटरफेस पैरामीटर अपेक्षाकृत जटिल होते हैं, इसलिए यूआरएल एन्कोडिंग का उपयोग नहीं किया जा सकता है।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 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 , 订单量 : 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))
}
एक नया एजेंट वॉलेट लाइसेंसिंग के लिए परीक्षण नेटवर्क।
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
यह संकेत देता है कि आप किस दिशा में आगे बढ़ रहे हैंः 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("测试结束")
}
ऊपर दिए गए परीक्षणों के अनुसार, Hyperliquid DEX एक्सचेंज को समर्थन देने के लिए नवीनतम प्रदाता के आधार पर नवीनतम प्रदाता को डाउनलोड करना आवश्यक है।
धन्यवाद समर्थन के लिए, और पढ़ने के लिए धन्यवाद।