ভূমিকা
সম্প্রতি, FMZ প্ল্যাটফর্ম হাইপারলিকুইড DEX-এর জন্য সমর্থন যোগ করেছে, একটি উচ্চ-কর্মক্ষমতা বিকেন্দ্রীভূত বিনিময়, যা ব্যবহারকারীদের বিকেন্দ্রীভূত লেনদেনে অংশগ্রহণের জন্য আরও বিকল্প প্রদান করে। বর্তমানে, FMZ প্ল্যাটফর্মের কাস্টোডিয়ান ফাংশন সম্পূর্ণরূপে আপডেট করা হয়েছে হাইপারলিকুইডের স্পট এবং চিরস্থায়ী চুক্তির লেনদেন এবং DEX-এর সমস্ত API ফাংশনগুলিকে সমর্থন করার জন্য।
হাইপারলিকুইড প্ল্যাটফর্মের ভূমিকা
হাইপারলিকুইড হল একটি উচ্চ-পারফরম্যান্স L1 ব্লকচেইন যা সম্পূর্ণ অন-চেইন ওপেন ফিনান্সিয়াল সিস্টেম গড়ে তোলার লক্ষ্যে স্ক্র্যাচ থেকে অপ্টিমাইজ করা হয়েছে। ব্যবহারকারীরা একটি মসৃণ শেষ-ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার সময় দক্ষ নেটিভ উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করে তাদের নিজস্ব অ্যাপ্লিকেশন তৈরি করতে পারে।
হাইপারলিকুইড L1 একটি অনুমোদনহীন আর্থিক অ্যাপ্লিকেশন ইকোসিস্টেমকে সমর্থন করার জন্য যথেষ্ট শক্তিশালী। সমস্ত অর্ডার, বাতিলকরণ, ট্রেড এবং লিকুইডেশন সম্পূর্ণ স্বচ্ছতার সাথে 1 সেকেন্ডের কম ব্লক লেটেন্সি সহ অন-চেইন সম্পন্ন হয়। বর্তমানে, চেইন প্রতি সেকেন্ডে 100,000 অর্ডারের প্রক্রিয়াকরণ ক্ষমতা সমর্থন করে।
হাইপারলিকুইড L1 হাইপারবিএফটি নামে একটি কাস্টম কনসেনসাস অ্যালগরিদম ব্যবহার করে, যা হটস্টাফ এবং এর উত্তরসূরিদের দ্বারা অনুপ্রাণিত। উচ্চ-কার্যক্ষমতাসম্পন্ন ব্লকচেইনের চাহিদা পূরণের জন্য ঐক্যমত্য প্রক্রিয়া এবং নেটওয়ার্ক আর্কিটেকচার উভয়ই নিচ থেকে উপরে অপ্টিমাইজ করা হয়েছে।
এই নির্দেশিকাটির মাধ্যমে, আমরা আপনাকে FMZ প্ল্যাটফর্মে Hyperliquid DEX-এর প্রোগ্রাম্যাটিক এবং পরিমাণগত ট্রেডিং শুরু করতে এবং আরও ব্যবসার সুযোগগুলি অন্বেষণ করতে সাহায্য করার আশা করছি।
ব্যবহারিক বিষয়বস্তু
REST প্রোটোকল
- মার্কেট ইন্টারফেস অনুশীলন।
- ট্রেডিং ইন্টারফেস অনুশীলন (অর্ডার দেওয়া, অর্ডার বাতিল করা)।
- লেনদেন সম্পর্কিত তদন্ত অনুশীলন (অ্যাকাউন্ট, অর্ডার)।
- অন্যান্য ফাংশন (স্পট, চুক্তি স্থানান্তর, ভল্ট অ্যাক্সেস, ওয়ালেটে সম্পদ স্থানান্তর ইত্যাদি)।
ওয়েবসকেট প্রোটোকল
- বিনিময় তথ্য সাবস্ক্রিপশন অনুশীলন (REST ইন্টারফেসে কোন ট্রেড ইন্টারফেস নেই, এবং Websocket ইন্টারফেস দ্বারা পরিপূরক)
Hyperliquid
-
ট্রেডিং পণ্যের শ্রেণীবিভাগ
এফএমজেড প্ল্যাটফর্মের কাঠামোর উপর ভিত্তি করে হাইপারলিকুইডকে স্পট এবং চিরস্থায়ী চুক্তিতে ভাগ করা হয়েছে, এটি এফএমজেড প্ল্যাটফর্মে হাইপারলিকুইড স্পট এক্সচেঞ্জ অবজেক্ট এবং হাইপারলিকুইড ফিউচার এক্সচেঞ্জ অবজেক্টে বিভক্ত। হাইপারলিকুইড ডিইএক্স-এর বিভিন্ন জাতের সাথে সামঞ্জস্যপূর্ণ।FMZ প্ল্যাটফর্মের অ্যাড এক্সচেঞ্জ পৃষ্ঠায়, আপনি হাইপারলিকুইড স্পট এবং ফিউচার এক্সচেঞ্জ অবজেক্ট কনফিগার করতে পারেন:
-
পরিবেশ বিভাগ
বেশিরভাগ এক্সচেঞ্জের মতো, হাইপারলিকুইডেরও একটি পরীক্ষার পরিবেশ রয়েছে।-
Mainnet APP ঠিকানা:
প্রকৃত ব্যবহারের অভিজ্ঞতা অনুযায়ী, প্রধান নেটওয়ার্ক তুলনামূলকভাবে স্থিতিশীল এবং গতি ভাল।
সংশ্লিষ্ট REST প্রোটোকল API ইন্টারফেস নোড ঠিকানা:https://api.hyperliquid.xyz。
বার্তা স্বাক্ষর সম্পর্কিত তথ্যও আলাদা:source == "a",chainId = 42161 -
Testnet APP ঠিকানা:
টেস্ট নেটওয়ার্ক প্রায়ই ডাউন থাকে, কিন্তু এটি শুধুমাত্র DEX-এ ট্রেডিং ফাংশনগুলির সাথে নিজেকে পরিচিত করার জন্য একটি পরীক্ষা ইন্টারফেস হিসাবে ব্যবহার করা হয়।
সংশ্লিষ্ট REST প্রোটোকল API ইন্টারফেস নোড ঠিকানা:https://api.hyperliquid-testnet.xyz。
বার্তা স্বাক্ষর সম্পর্কিত তথ্যও আলাদা:source == "b",chainId = 421614
-
ওয়ালেট সংযোগ, লগইন এবং কনফিগারেশন তথ্য
বেশিরভাগ DEX এক্সচেঞ্জের ওয়ালেট সংযোগ পদ্ধতির মতো, আপনি হাইপারলিকুইডের সাথে সংযোগ করতে QR কোড স্ক্যান করতে ওয়ালেট APP ব্যবহার করতে পারেন (ওয়ালেটটি আরবিট্রামে স্যুইচ করুন এবং লগ ইন করতে QR কোড স্ক্যান করুন। একই পদ্ধতি টেস্টনেট এবং মেইননেটের জন্য ব্যবহার করা হয়। )
-
ওয়ালেট হাইপারলিকুইডের সাথে সংযুক্ত
-
টেস্টনেট কল (আমানত পরীক্ষা USDC সম্পদ)
আপনি যদি প্রথমে টেস্ট নেটওয়ার্কের সাথে পরিচিত হতে চান, তাহলে ওয়ালেট হাইপারলিকুইডের সাথে সংযুক্ত হওয়ার পরে আপনি সরাসরি হাইপারলিকুইড পৃষ্ঠায় কলটি খুঁজে পেতে পারেন।
আপনি পরীক্ষার জন্য ইউএসডিসি পাওয়ার পর, হাইপারলিকুইডে ডিপোজিট করতে "ডিপোজিট" বোতামে ক্লিক করুন (আরবিট্রাম টেস্ট নেটওয়ার্কে সামান্য ইটিএইচ থাকা ভালো)।
-
মেইননেট ইউএসডিসি সম্পদ জমা করে
ডিপোজিট করতে "ডিপোজিট" বোতামে ক্লিক করুন, যার জন্য ওয়ালেট যাচাইকরণ প্রয়োজন এবং আর্বিট্রামে সামান্য ETH খরচ করবে৷
-
প্রক্সি ওয়ালেট কনফিগারেশন তৈরি করুন
Hyperliquid APP পৃষ্ঠায় ম্যানুয়াল লেনদেন করার সময়, পৃষ্ঠাটি স্বয়ংক্রিয়ভাবে একটি প্রক্সি ওয়ালেট ঠিকানা এবং ব্যক্তিগত কী তৈরি করবে, যা ব্রাউজারে রেকর্ড করা হয় এবং ব্রাউজার পৃষ্ঠায় অর্ডার দেওয়ার মতো ক্রিয়াকলাপের জন্য ব্যবহৃত হয় কিভাবে লেনদেন এই কনফিগারেশন তথ্য প্রাপ্ত করতে হবে?
আপনি Hyperliquid এর API পৃষ্ঠায় প্রয়োজনীয় প্রক্সি ওয়ালেট ঠিকানা এবং সংশ্লিষ্ট ব্যক্তিগত কী তৈরি করতে পারেন:
-
- আপনি যে প্রক্সি ওয়ালেট তৈরি করতে চলেছেন তার একটি নাম দিন৷
-
- ঠিকানা এবং ব্যক্তিগত কী তৈরি করুন।
-
- প্রক্সি ওয়ালেট অনুমোদন করতে Hyperliquid এর সাথে সংযুক্ত ওয়ালেট ব্যবহার করুন।
-
-
FMZ-এ প্রক্সি ওয়ালেট ঠিকানা এবং ব্যক্তিগত কী কনফিগার করুন
তারপর আপনি FMZ প্ল্যাটফর্মে এই তথ্য কনফিগার করতে পারেন (উপরে উল্লিখিত কনফিগারেশন ইন্টারফেস দেখুন)।
- ওয়ালেট ঠিকানা: হাইপারলিকুইডের সাথে সংযুক্ত ওয়ালেট ঠিকানা (দ্রষ্টব্য, প্রক্সি ওয়ালেট ঠিকানা নয়)।
- Wallet PrivateKey: ওয়ালেট প্রাইভেট কী হাইপারলিকুইডের সাথে সংযুক্ত (প্রয়োজনীয় নয়, শুধুমাত্র এপিআই কল করার সময় প্রয়োজন যেমন স্থানান্তর, ফাঁকা রাখা যেতে পারে)।
- সিক্রেট কী: এজেন্ট ওয়ালেট প্রাইভেট কী (এজেন্ট ওয়ালেটটি পূর্ববর্তী ধাপে তৈরি করা হয় এবং অনুমোদনের পরে প্রাইভেট কী প্রদর্শিত হয়)।
এফএমজেডে হাইপারলিকুইড অনুশীলন
বিনিময় বস্তু কনফিগার করার জন্য প্রয়োজনীয় তথ্য:
- ওয়ালেট ঠিকানা ব্যবহারকারীর লেনদেন এবং অন্যান্য তথ্য জিজ্ঞাসা করতে ব্যবহৃত হয়
- Wallet PrivateKey স্থানান্তর, স্থানান্তর এবং অন্যান্য ক্রিয়াকলাপের জন্য ব্যবহৃত হয়
- লেনদেন-সম্পর্কিত ক্রিয়াকলাপের জন্য গোপন কী ব্যবহার করা হয়
কনফিগারেশন সম্পন্ন হলে, আমরা FMZ প্ল্যাটফর্মে এটি পরীক্ষা করতে এবং ব্যবহার করতে পারি আমরা পরীক্ষার অনুশীলনের জন্য FMZ প্ল্যাটফর্মের "ডিবাগিং টুল" ব্যবহার করি।
আপনি যদি টেস্ট নেটওয়ার্ক তথ্যের সাথে কনফিগার করা হাইপারলিকুইড এক্সচেঞ্জ অবজেক্ট ব্যবহার করেন, তাহলে এটি ব্যবহার করার সময় আপনাকে কিছু স্যুইচিং অপারেশন করতে হবে, যেমন:
javascript
function main() {
// REST协议API地址切换到测试网
exchange.SetBase("https://api.hyperliquid-testnet.xyz")
// source : a 主网 , b 测试网
exchange.IO("source", "b")
return exchange.GetAccount()
}
মেইননেট কনফিগারেশনের জন্য উপরোক্ত স্যুইচিং ক্রিয়াকলাপগুলির প্রয়োজন হয় না, হাইপারলিকুইড ডিইএক্স এক্সচেঞ্জের সাথে সম্পর্কিত API ইন্টারফেসগুলি কেবলমাত্র সামান্য পার্থক্য সহমেইননেট কনফিগারেশন তথ্যএবংটেস্টনেট কনফিগারেশন তথ্যএরহাইপারলিকুইড ফিউচারপরীক্ষা করার জন্য বস্তু বিনিময়.
বিভিন্ন তথ্য
javascript
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) + "`")
}
বইয়ের ডেটা অর্ডার করুন
javascript
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])
}
অ্যাকাউন্ট সম্পদ
javascript
function main() {
var account = exchange.GetAccount()
return account
}
অর্ডার দিন, অর্ডার চেক করুন
javascript
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) + "`")
}
সমস্ত আদেশ প্রত্যাহার
javascript
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) + "`")
}
লিভারেজ স্যুইচ করুন, সম্পূর্ণ অবস্থান/বিচ্ছিন্ন অবস্থানের মধ্যে স্যুইচ করুন
javascript
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 স্ট্রিংগুলিকে পরামিতি হিসাবে দেওয়া যেতে পারে।
হাইপারলিকুইড রেফারেন্স ডকুমেন্টেশন: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order
Schedule Cancel (dead man's switch)
javascript
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."}
এই ফাংশনের সীমাবদ্ধতা রয়েছে: এই ফাংশনটি শুধুমাত্র তখনই ব্যবহার করা যেতে পারে যদি অ্যাকাউন্টটি ট্রেডিং লেভেলে পৌঁছায়।
twapOrder
একটি TWAP অর্ডার তৈরি করুন।
javascript
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))
}
twapCancel
TWAP অর্ডার বাতিল করুন।
javascript
function main() {
var params = {
"type": "twapCancel",
"a": 0,
"t": 3805
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
approveAgent
Testnet, একটি নতুন প্রক্সি ওয়ালেট অনুমোদন করুন।
javascript
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 প্রক্সি ওয়ালেটের নাম যা তৈরি করা কী জোড়া হাইপারলিকুইড APP পৃষ্ঠায় প্রদর্শিত হবে৷
https://app.hyperliquid-testnet.xyz/APIমধ্যম
vaultTransfer
ভল্ট থেকে সম্পদ তুলে নিন।
javascript
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": সত্য, জমা এবং জমা নিয়ন্ত্রণ করে।
withdraw3
Testnet, সম্পদ ওয়ালেট থেকে প্রত্যাহার করা হয়.
javascript
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
স্পট/ফিউচারের মধ্যে সম্পদের স্থানান্তর (স্থায়ী চুক্তি)।
javascript
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 ইন্টারফেস ঠিকানা:
Mainnet: wss://api.hyperliquid.xyz/ws
যেহেতু REST প্রোটোকল API ইন্টারফেসে সাম্প্রতিক লেনদেন ডেটা প্রাপ্ত করার জন্য কোনও ইন্টারফেস নেই, তাই ওয়েবসকেট ইন্টারফেসে এই চ্যানেলটি রয়েছে যা সদস্যতা নেওয়া যেতে পারে৷
সদস্যতা বার্তা গঠন
{
"method": "subscribe",
"subscription": {
"type": "trades",
"coin": "SOL"
}
}
ডিবাগিং টুলে সঞ্চালিত পরীক্ষার উদাহরণ:
javascript
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
উপরের পরীক্ষাগুলি সর্বশেষ কাস্টোডিয়ানের উপর ভিত্তি করে তৈরি। হাইপারলিকুইড DEX এক্সচেঞ্জ সমর্থন করার জন্য আপনাকে সর্বশেষ কাস্টোডিয়ানটি ডাউনলোড করতে হবে।
আপনার সমর্থনের জন্য ধন্যবাদ এবং পড়ার জন্য ধন্যবাদ।
- 1













