4
tập trung vào
1105
Người theo dõi

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Được tạo ra trong: 2025-02-09 16:05:08, cập nhật trên: 2025-02-19 10:37:07
comments   0
hits   195

[TOC]

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Đây là bài viết thứ ba về thực hành định lượng của các sàn giao dịch DEX. Lần này chúng tôi sẽ giới thiệu hướng dẫn sử dụng giao thức Vertex.

Lời nói đầu

Trong khuôn khổ các sàn giao dịch phi tập trung (DEX) truyền thống, các nhà giao dịch định lượng thường phải thỏa hiệp: hoặc chấp nhận mức trượt giá cao và hiệu quả thực hiện thấp của mô hình tạo lập thị trường tự động (AMM), hoặc rơi vào tình thế tiến thoái lưỡng nan về mặt kỹ thuật là phân mảnh thanh khoản chuỗi chéo và các hàm phái sinh đơn lẻ. Sự xuất hiện của Vertex Protocol đang định nghĩa lại ranh giới trên chuỗi của các chiến lược định lượng thông qua một thử nghiệm kết hợp “phi tập trung + cấp độ tổ chức” - không có tình huống tiến thoái lưỡng nan “chọn một trong hai” ở đây, chỉ có sự cân bằng cuối cùng giữa tốc độ, chiều sâu và sự tự do.

Là DEX đầu tiên tích hợp nhóm thanh khoản đa chuỗi thống nhất, sổ lệnh lai (CLOB) và thị trường tiền tệ nhúng, Vertex lấy “trải nghiệm tập trung, tâm hồn phi tập trung” làm cốt lõi và mở ra một hướng đi độc đáo cho các nhà giao dịch định lượng:

Một định nghĩa mới về tốc độ và tính lưu động

Với sự phát triển liên tục của công nghệ blockchain, ranh giới giữa các sàn giao dịch tập trung truyền thống (CEX) và các sàn giao dịch phi tập trung (DEX) đang dần mờ nhạt. Là trung tâm của nền tảng Vertex, Vertex Edge không chỉ định hình lại tốc độ giao dịch và tính thanh khoản mà còn kết hợp hoàn hảo công nghệ khớp lệnh tuyệt vời và lợi thế tự lưu ký thông qua tích hợp chuỗi chéo, mang đến trải nghiệm DeFi mới cho các nhà giao dịch toàn cầu.

  • Thống nhất thanh khoản chuỗi chéo: phá vỡ sự phân mảnh thanh khoản Ở các thị trường truyền thống, tính thanh khoản giữa các chuỗi khác nhau thường bị phân mảnh, dẫn đến việc các nhà giao dịch không thể tận hưởng được mức giá và độ sâu giao dịch tốt nhất. Vertex Edge ra đời trong bối cảnh này, hiện thực hóa việc chia sẻ đồng bộ tính thanh khoản vĩnh viễn trên nhiều chuỗi thông qua mạng lưới sổ lệnh thống nhất. Hiện tại, Vertex Edge đã bao phủ thanh khoản hợp đồng vĩnh viễn trên 7 chuỗi chính thống bao gồm Arbitrum, Base, Sei, Blast, Mantle, Sonic và Abstract, để các nhà giao dịch không còn phải lo lắng về sự phân tán thanh khoản và có thể giao dịch với mức giá tốt nhất, thực sự đạt được kết nối liền mạch của thanh khoản toàn cầu.

  • Giao dịch sổ lệnh kết hợp: sự cân bằng hoàn hảo giữa khớp lệnh siêu nhanh và thanh toán trên chuỗi Vertex Edge áp dụng mô hình giao dịch sổ lệnh kết hợp và các công nghệ cốt lõi của nó bao gồm:

Công cụ khớp lệnh ngoài chuỗi: Sử dụng cơ chế khớp lệnh ngoài chuỗi tốc độ cực cao để đạt được khả năng khớp lệnh với độ trễ chỉ 5-15 mili giây, tương đương với hầu hết các sàn giao dịch tập trung; Công cụ quản lý rủi ro trên chuỗi và AMM: Hệ thống quản lý rủi ro và nhà tạo lập thị trường tự động (AMM) được triển khai trên mỗi chuỗi được hỗ trợ để đảm bảo các lệnh có thể được thanh toán một cách an toàn và minh bạch sau khi khớp lệnh. Kiến trúc này không chỉ đảm bảo phản hồi giao dịch cực nhanh mà còn cung cấp cho người dùng tính bảo mật phi tập trung thông qua thanh toán trên chuỗi, cho phép các nhà giao dịch tận hưởng hiệu suất cấp CEX trong khi vẫn duy trì tính độc lập của việc tự lưu ký tài sản.

  • Quản lý biên lợi nhuận chéo thống nhất: sử dụng hiệu quả từng xu vốn Nền tảng Vertex cung cấp cho người dùng khả năng quản lý biên độ chéo thống nhất. Cho dù là giao ngay, hợp đồng vĩnh viễn hay thị trường tài trợ nhúng, tất cả tài sản và vị thế đều có thể được tích hợp vào một tài khoản biên độ thống nhất. Thiết kế này cho phép người dùng:

Chức năng đa tài khoản: quản lý nhiều tài khoản trong một ví và phân bổ tiền hiệu quả hơn; Vị thế giao ngay có đòn bẩy: Sử dụng toàn bộ tài sản làm ký quỹ để đạt hiệu quả vốn cao hơn; Quản lý rủi ro linh hoạt: Tiền gửi, vị thế và dữ liệu lãi lỗ được xem xét theo cách thống nhất để kiểm soát chính xác mức độ rủi ro.

Kết nối đỉnh

Đăng nhập địa chỉ trang “vertex protocol”:

https://app.vertexprotocol.com/

Kết nối ví của bạn

Vertex giống như hầu hết các DEX. Sau khi đăng nhập vào dapp, bạn cần kết nối với ví để được ủy quyền. Hệ thống tài khoản phụ của Vertex được phân biệt dựa trên nhãn. Nhãn tham gia vào tính toán địa chỉ ví để có được địa chỉ ví tài khoản phụ. Đồng thời, địa chỉ này được ủy quyền để đặt lệnh và các hoạt động khác.

Ví dụ, sử dụngWalletConnectĐịa chỉ ví khi được kết nối là:0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43, nhãn mặc định là “mặc định” và địa chỉ tài khoản phụ được tính toán là:0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c4364656661756c740000000000. Các thẻ mặc định là:64656661756c740000000000

Vertex hỗ trợ nạp tiền nhiều tài sản. Nói chung, bạn chọn nạp tiền USDC dưới dạng ký quỹ và trực tiếp sử dụng ví được kết nối để chuyển giao dịch. Cần lưu ý rằng các hoạt động như rút, chuyển, gửi token và chuyển tài khoản phụ trên Vertex sẽ tiêu tốn USDC và phí không hề thấp, do đó cần phải thận trọng khi thực hiện các hoạt động này.

Chuyển sang chuỗi khác:

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Trên đỉnh, các chuỗi khác nhau có thông tin cấu hình khác nhau như nút, chỉ mục và ID chuỗi. Chuỗi mặc định cho đóng gói FMZ làArbitrum Onecó thể sử dụngLog(HttpQuery("https://gateway.prod.vertexprotocol.com/v1/query?type=contracts"))Truy vấn ID của chuỗi, thông tin hợp đồng đã triển khai, v.v.

Cấu hình trên FMZ

Sau khi đăng nhập vào FMZ.COM, trên trang cấu hình sàn giao dịch, chọn “Tiền điện tử”, chọn Vertex Exchange, bạn có thể trực tiếp cấu hình khóa proxy ví trên dapp. Tất nhiên, bạn cũng có thể cấu hình khóa riêng ví. Trên Vertex, bạn có thể sử dụng giao diện để quản lý ủy quyền/hủy ủy quyền khóa proxy và các hoạt động khác, cũng thuận tiện hơn.

Khóa Proxy:

Ví dụ, trên trang giao diện của sàn giao dịch DEX đỉnh: Trình duyệt Chrome (bật gỡ lỗi) -> Ứng dụng -> Lưu trữ cục bộ -> https://app.vertex -> vertex userSettings

Cấu hình Vertex Exchange

Có hai thứ cần được cấu hình trên FMZ. Thứ nhất là địa chỉ ví (không phải địa chỉ của khóa proxy được sử dụng để ký, mà phải là địa chỉ ví được kết nối với dapp). Thứ hai là khóa bí mật được sử dụng để ký (có thể là khóa riêng của ví hoặc khóa proxy). Vì có thể sử dụng khóa proxy nên địa chỉ ví và khóa được cấu hình không nhất thiết phải là một cặp.

Hệ thống tài khoản phụ của Vertex được xác định bằng thẻ. Thẻ mặc định được sử dụng trên FMZ làdefaultTài khoản chính của thẻ, nếu bạn cần chuyển đổi, bạn có thể sử dụng nó trong mã:

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

Thực hành trên FMZ

Sau khi cấu hình thông tin cấu hình trao đổi và triển khai chương trình giám sát có thể truy cập giao diện đỉnh, chúng ta có thể bắt đầu viết một số mã cho các hoạt động thực tế.

Chúng tôi sử dụng tài khoản phụ chính để thử nghiệm (tài khoản phụ có thẻ: mặc định) và chúng tôi sử dụngArbitrummạng.

Điều kiện thị trường và thông tin chuỗi

  1. Thu thập thông tin thị trường hợp đồng
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
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Có thể thấy rằng loại hợp đồng trên Vertex là hợp đồng dựa trên USDC, biên độ là USDC và giá trị của hợp đồng đại diện cho một loại tiền tệ tương ứng, ví dụBTC_USDC.swapNghĩa là, hợp đồng BTC dựa trên USDC, mỗi hợp đồng đại diện cho một vị thế BTC. Đoạn mã trên cho thấy cách yêu cầu thông tin thị trường hợp đồng và xuất ra nhiều nội dung khác nhau.

  1. Nhận thông tin chi tiết (sổ lệnh)
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) + "`")
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

  1. Thông tin luồng lệnh giao dịch thị trường
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) + "`")
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

  1. Dữ liệu dòng K
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()
    })
}

Biểu đồ đỉnh Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Bản vẽ hoạt động chiến lược FMZ Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

  1. Tỷ lệ tài trợ
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) + "`")
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Chu kỳ tỷ lệ tài trợ là 1 giờ.

  1. Truy vấn dữ liệu trên chuỗi và khối lượng đơn hàng tối đa cho một tài khoản và sản phẩm nhất định

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")
}
  • Hệ số tỷ lệ phần lớn là: 1e18, vì vậy: 300000000000000000000000 là 3000 USDC.
  • product_id=4 Mã sản phẩm giao dịch, 4 là hợp đồng Ethereum, ETH_USDC.swap
  • người gửi là địa chỉ tài khoản phụ được tính toán từ địa chỉ ví và thẻ tài khoản phụ.

Dữ liệu trả về từ yêu cầu cuối cùng là:{"status":"success","data":{"max_order_size":"170536415320344899"},"request_type":"query_max_order_size"} Có thể thấy rằng tài khoản hiện tại có sẵn tài sản cho hợp đồng vĩnh viễn Ethereum với giá 3000, số lượng đặt hàng tối đa cho một lệnh bán là: 0,17 ETH

  1. Truy vấn thông tin khóa proxy của ủy quyền ví

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

Thông tin ủy quyền được tìm thấy:

{“status”:“success”,“data”:{“linked_signer”:“0x79119…”},“request_type”:“query_linked_signer”} Địa chỉ “0x79119…” là địa chỉ proxy để ủy quyền giao dịch lệnh khi kết nối với ví trên trang chủ Vertex. Quyền này có thể được thu hồi hoặc thêm vào (thông qua lệnh gọi API).

buôn bán

Sau đây là trọng tâm của bài viết này. Chúng tôi đã bận rộn trong một thời gian dài chỉ để thực hiện các giao dịch đơn giản và nhanh chóng trên các sàn giao dịch phi tập trung.

  1. Đặt hàng

Kiểm tra giao dịch đơn giản hơn và đặt lệnh giới hạn bình thường.

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

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

  1. Hủy đơn hàng
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()
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

  1. Vị trí truy vấn
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) +  "`")
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Cần lưu ý rằng dữ liệu do Vertex API cung cấp khác với nội dung hiển thị trên trang đầu của Vertex, chủ yếu là do sự khác biệt về giá nắm giữ trung bình và lợi nhuận và thua lỗ của các khoản nắm giữ. Dữ liệu này đã được phản hồi lại cho nhóm Vertex và có thể được nâng cấp và cập nhật sau.

4、Trigger Order

Vì Thứ tự kích hoạt của đỉnh không phụ thuộc vào endPoint, khi sử dụngexchange.IOKhi đặt lệnh có điều kiện cho một hàm, bạn cần chỉ địnhTrigger: https://trigger.prod.vertexprotocol.com, chúng ta hãy tiếp tục với hoạt động thực tế.

  • nonce: Một tham số nonce cần được truyền vào cho Trigger Order tiếp theo. Vertex có yêu cầu tính toán, vì vậy để dễ sử dụng, một phương pháp được thiết kế trong quá trình đóng gói để có được nonce đã tính toán.
  • hết hạn: Yêu cầu tương tự cũng áp dụng cho tham số hết hạn và cũng cần phải có được ngày hết hạn được tính toán.
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))
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Bên dưới điểm cuối kích hoạt, cũng có:

  • Giao diện lệnh kích hoạt danh sách
  • Cancel Trigger Orders
  • Cancel Product Trigger Orders

Phương thức gọi này tương tự như Place Trigger Order, vì vậy tôi sẽ không đi sâu vào chi tiết ở đây.

Quản lý tài khoản phụ

  1. Chuyển đổi thẻ tài khoản phụ

Thẻ tài khoản phụ mặc định là:default, chúng tôi chuyển sang thẻ tùy chỉnh:subAcc02

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

    return exchange.GetAccount()
}

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Thực hành định lượng DEX Exchange (3) - Hướng dẫn sử dụng Vertex Protocol

Khi chuyển tiền đến địa chỉ tài khoản phụ, Vertex sẽ thực sự tạo tài khoản phụ này.

  1. Chuyển tiền vào tài khoản phụ Vertex

Số nonce của tài khoản cần được truy vấn và truyền vào các tham số của giao diện chuyển tiền dưới dạng tham số.

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

Ví dụ: 0xabc… tương ứng với địa chỉ tài khoản phụ có thẻ mặc định. 0xdef… tương ứng với địa chỉ tài khoản phụ có thẻ subAcc02. 0x123… là địa chỉ ví.

Rút tiền, đúc/hủy mã thông báo thanh khoản, v.v.

  1. Rút tiền từ Vertex về ví
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))
}

Hãy chú ý đến độ chính xác của USDC.

  1. Đúc LP
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))
}

Mint LP token cho các cặp giao dịchUSDT_USDCQuỹ trao đổi bổ sung tính thanh khoản.

  1. Phá hủy LP
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))
}

Giao diện Websocket

Điểm cuối giao diện Websocket:wss://gateway.prod.vertexprotocol.com/v1/ws

[🚧🚧🚧ing…]

END

Các bài kiểm tra trên dựa trên người giám hộ mới nhất. Bạn cần tải xuống người giám hộ mới nhất để hỗ trợ trình tổng hợp Vertex DEX.

Cảm ơn các bạn đã ủng hộ và đọc bài viết.