[TOC]
Gần đây, nền tảng FMZ đã bổ sung hỗ trợ cho Hyperliquid DEX, một sàn giao dịch phân quyền hiệu suất cao, cung cấp nhiều lựa chọn hơn cho người dùng tham gia giao dịch phân quyền. Hiện nay, chức năng quản lý của nền tảng FMZ đã được cập nhật đầy đủ, hỗ trợ giao dịch giao dịch tại chỗ và hợp đồng vĩnh viễn của Hyperliquid và bao gồm tất cả các chức năng API của DEX.
Hyperliquid nền tảng
Hyperliquid là một blockchain L1 hiệu suất cao được tối ưu hóa từ đầu, với tầm nhìn xây dựng một hệ thống tài chính mở hoàn toàn trên chuỗi. Người dùng có thể tự tạo ứng dụng bằng cách tương tác với các thành phần gốc hiệu quả, đồng thời đảm bảo sự trôi chảy của trải nghiệm người dùng cuối cùng.
Hyperliquid L1 đủ mạnh để hỗ trợ một hệ sinh thái ứng dụng tài chính không giấy phép. Tất cả các đơn đặt hàng, rút tiền, giao dịch và thanh toán được thực hiện trên chuỗi một cách hoàn toàn minh bạch, với độ trễ khối dưới 1 giây. Hiện tại, chuỗi hỗ trợ xử lý lên đến 100.000 đơn đặt hàng mỗi giây.
Hyperliquid L1 sử dụng một thuật toán đồng thuận tùy chỉnh được gọi là HyperBFT, lấy cảm hứng từ Hotstuff và các thuật toán sau đó. Cả cơ chế đồng thuận và kiến trúc mạng đều được tối ưu hóa từ dưới xuống để đáp ứng nhu cầu của blockchain hiệu suất cao.
Thông qua hướng dẫn này, chúng tôi hy vọng sẽ giúp bạn nhanh chóng nắm bắt các giao dịch lập trình và định lượng của Hyperliquid DEX trên nền tảng FMZ và khám phá thêm nhiều cơ hội giao dịch.
REST protocol - Thực hành giao diện giao tiếp. - Thực hành giao dịch giao diện (đặt hàng, rút hàng) - Thực hành truy vấn liên quan đến giao dịch (tài khoản, đơn đặt hàng) - Các chức năng khác ((tiền mặt, chuyển nhượng hợp đồng, tiếp cận kho bạc, chuyển nhượng tài sản sang ví, v.v.)).
Giao thức Websocket - Thực hành đăng ký thông tin trao đổi (không có giao diện Trades trong giao diện REST, được bổ sung bằng giao diện Websocket)
Trên trang thêm sàn giao dịch của nền tảng FMZ, bạn có thể cấu hình các đối tượng giao dịch hiện tại và tương lai của Hyperliquid:
Phân loại môi trường Giống như hầu hết các sàn giao dịch, Hyperliquid cũng có môi trường thử nghiệm.
Một số người sử dụng mạng xã hội trên mạng xã hội của họ cho thấy rằng họ có thể sử dụng mạng xã hội của họ một cách hiệu quả hơn.
Địa chỉ của các nút giao diện API REST tương ứng:https://api.hyperliquid.xyz
❖
Thông tin liên quan đến chữ ký tin nhắn cũng khác nhau:source == "a"
,chainId = 42161
Testnet thường bị ngắt, nhưng chỉ được sử dụng như một giao diện thử nghiệm, quen thuộc với các chức năng giao dịch trên DEX.
Địa chỉ của các nút giao diện API REST tương ứng:https://api.hyperliquid-testnet.xyz
❖
Thông tin liên quan đến chữ ký tin nhắn cũng khác nhau:source == "b"
,chainId = 421614
Cũng giống như hầu hết các sàn DEX, bạn có thể kết nối ví với Hyperliquid bằng cách sử dụng ứng dụng quét mã 2D của ví (chuyển ví sang Arbitrum, quét đăng nhập, testnet, homenet).
Nếu bạn muốn học sinh quen thuộc với mạng thử nghiệm trước, bạn có thể tìm vòi ngay trên trang Hyperliquid sau khi ví được kết nối với Hyperliquid.
Bạn có thể nhận tài sản thử nghiệm, nhận USDC cho thử nghiệm, sau đó nhấp vào nút "tiền" để gửi vào Hyperliquid (Arbitrum Testing Net tốt nhất là một chút ETH).
Nhấp vào nút "đặt tiền" để gửi tiền, cần xác minh ví và sẽ tiêu thụ một chút ETH trên Arbitrum.
Khi giao dịch được thực hiện theo cách thủ công trên trang Hyperliquid APP, trang này sẽ tự động tạo ra một địa chỉ ví đại diện và khóa cá nhân, được ghi lại trong trình duyệt, sử dụng cho các hoạt động như đặt hàng trên trang trình duyệt, vậy làm thế nào để chúng ta có được thông tin cấu hình này nếu chúng ta muốn lập trình, định lượng giao dịch?
Bạn có thể tạo địa chỉ ví trạm và khóa riêng tương ứng cần thiết trên trang API của Hyperliquid:
Trong khi đó, một số người khác cũng cho biết họ đang tìm kiếm một cái tên cho ví đại diện sắp được tạo.
2, tạo địa chỉ và khóa riêng.
3. Sử dụng ví kết nối với Hyperliquid để ủy quyền ví đại diện.
Phương tiện này được sử dụng để cài đặt các địa chỉ ví và khóa riêng trên FMZ.
Sau đó, thông tin này có thể được cấu hình trên nền tảng FMZ (xem giao diện cấu hình ở trên).
Thông tin cần thiết để cấu hình đối tượng giao dịch:
Sau khi cấu hình hoàn tất, chúng tôi có thể thử nghiệm trên nền tảng FMZ, và chúng tôi thực hành thử nghiệm trực tiếp bằng "công cụ điều chỉnh" trên nền tảng FMZ.
Nếu bạn đang sử dụng một đối tượng Hyperliquid Exchange với cấu hình thông tin mạng thử nghiệm, bạn sẽ cần thực hiện một số thao tác chuyển đổi khi sử dụng, ví dụ:
function main() {
// REST协议API地址切换到测试网
exchange.SetBase("https://api.hyperliquid-testnet.xyz")
// source : a 主网 , b 测试网
exchange.IO("source", "b")
return exchange.GetAccount()
}
Các giao diện API liên quan đến các loại giao dịch hiện tại và tương lai tại Hyperliquid DEX hầu như giống nhau, chỉ có một chút khác biệt chi tiết.Thông tin cấu hình mạng chủvàThông tin cấu hình mạng thử nghiệmcủaHyperliquid tương laiCác đối tượng trên sàn giao dịch được thử nghiệm.
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 () trả về câu trả lời cho yêu cầu đặt đòn bẩy:
{
status : ok , response : { type : default }}
Do các tham số giao diện của sàn giao dịch phức tạp hơn và không thể truyền thông bằng cách mã hóa url, nên việc sử dụngexchange.IO
Khi gọi hàm, chỉ có thể sử dụng chuỗi JSON để truyền tham số. Dưới đây là các ví dụ về các cuộc gọi giao diện.
Hyperliquid tài liệu tham khảo: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 Đổi đổi:174.57424.”}: err , response : Không thể thiết lập thời gian hủy lịch trình cho đến khi đủ khối lượng giao dịch.
Tính năng này có giới hạn: tài khoản đạt mức giao dịch để sử dụng tính năng này.
Tạo lệnh 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))
}
Theo đó, một số người bị cáo buộc là có liên quan đến vụ tấn công.
function main() {
var params = {
"type": "twapCancel",
"a": 0,
"t": 3805
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
Một số người cho biết họ đã sử dụng mạng lưới này để thử nghiệm và ủy quyền cho một chiếc ví đại diện mới.
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))
}
Quyền truy cập đã thành công:
{
status : ok , response : { type : default }}
https://app.hyperliquid-testnet.xyz/API
Trong đó có:Những người tham gia vào cuộc biểu tình này nói rằng:
function main() {
var params = {
"type": "vaultTransfer",
"vaultAddress": "0xAAA",
"isDeposit": true,
"usd": 5000000
}
return exchange.IO("api", "POST", "/exchange", null, JSON.stringify(params))
}
Những người tham gia cuộc thi này đã có thể tham gia vào các cuộc thi khác nhau.
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))
}
Việc phân chia tài sản giữa hiện tại / tương lai (hợp đồng vĩnh viễn)
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
Chỉ định hướng di chuyển: Futures -> spot.true
Định hướng chuyển hướng: spot -> futures.Địa chỉ giao diện WS của mạng chủ chốt:
Mainnet: wss://api.hyperliquid.xyz/ws
Vì REST protocol API không truy cập vào giao dịch gần đây, Websocket có thể đăng ký kênh này.
Định cấu trúc tin nhắn
{
"method": "subscribe",
"subscription": {
"type": "trades",
"coin": "SOL"
}
}
Các ví dụ thử nghiệm được thực hiện trong công cụ điều chỉnh:
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("测试结束")
}
Các thử nghiệm trên, dựa trên các nhà quản lý mới nhất, cần tải xuống các nhà quản lý mới nhất để hỗ trợ sàn giao dịch Hyperliquid DEX.
Xin cảm ơn vì đã ủng hộ, cảm ơn vì đã đọc.