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

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

में बनाया: 2025-02-28 17:20:12, को अपडेट: 2025-03-11 18:04:16
comments   0
hits   687

[TOC]

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

प्रस्तावना

ब्लॉकचेन प्रौद्योगिकी का विकास मात्रात्मक व्यापार को वेब3 युग की ओर ले जा रहा है। एक अग्रणी मात्रात्मक व्यापार उपकरण के रूप में, FMZ मात्रात्मक व्यापार मंच लंबे समय से वेब 3 की दिशा का पता लगा रहा है और एथेरियम से संबंधित फ़ंक्शन प्रदान करता है, जिससे उपयोगकर्ता स्मार्ट अनुबंधों के साथ बातचीत कर सकते हैं, फंड का प्रबंधन कर सकते हैं और चेन पर सीधे स्वचालित ट्रेडिंग रणनीतियों को निष्पादित कर सकते हैं।

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

इस लेख में हम विस्तार से बताएंगे:

  • एफएमजेड प्लेटफॉर्म की वेब3 दिशा में ट्रॉन पारिस्थितिकी, अनुप्रयोगों, विकास और अन्य तकनीकी सामग्री पर चर्चा करें।
  • FMZ प्लेटफॉर्म पर ट्रॉन नेटवर्क पर आधारित कॉन्फ़िगरेशन का अभ्यास करें।
  • व्यवहार में प्रयुक्त संसाधन और सामग्रियाँ
  • ट्रॉन नोड्स पर विधियों को कॉल करने का अभ्यास करें।
  • सनस्वैप, ट्रॉन पारिस्थितिकी तंत्र पर आधारित एक DeFi अभ्यास।

ट्रॉन परिचय

TRX-TRON परिचय विवरण (Feixiaohao से उद्धृत)

TRON की स्थापना जस्टिन सन ने सितंबर 2017 में की थी और मई 2018 में अपने मेननेट लॉन्च के बाद से इसने कई उत्कृष्ट उपलब्धियां हासिल की हैं। जुलाई 2018 में, TRON पारिस्थितिकी तंत्र ने बिटटोरेंट के साथ अपना एकीकरण पूरा कर लिया, जो 100 मिलियन से अधिक मासिक सक्रिय उपयोगकर्ताओं के साथ विकेन्द्रीकृत वेब 3.0 सेवाएं प्रदान करने में अग्रणी है। हाल के वर्षों में, ट्रॉन नेटवर्क ने शानदार प्रदर्शन किया है। ट्रॉनस्कैन डेटा से पता चलता है कि अक्टूबर 2022 तक, ट्रॉन सार्वजनिक श्रृंखला के उपयोगकर्ताओं की कुल संख्या 115 मिलियन से अधिक हो गई है, लेनदेन की संख्या 4 बिलियन से अधिक हो गई है, और कुल लॉक मूल्य (टीवीएल) 13.2 बिलियन अमेरिकी डॉलर से अधिक हो गया है। TRON नेटवर्क दिसंबर 2021 में पूरी तरह से विकेंद्रीकृत हो गया और अब यह एक समुदाय-शासित विकेन्द्रीकृत स्वायत्त संगठन (DAO) है। मई 2022 में, TRON ने विकेन्द्रीकृत सुपर-कोलैटरलाइज्ड स्टेबलकॉइन USDD के लॉन्च की घोषणा की, जिसे उद्योग के क्रिप्टोक्यूरेंसी केंद्रीय बैंक, TRON ज्वाइंट रिजर्व द्वारा समर्थित किया गया है, जो विकेन्द्रीकृत स्टेबलकॉइन युग में TRON के आधिकारिक प्रवेश को चिह्नित करता है। अक्टूबर 2022 में, डोमिनिका ने घोषणा की कि TRON इसका आधिकारिक रूप से नामित राष्ट्रीय ब्लॉकचेन अवसंरचना है, जिससे TRON एक बड़ी सार्वजनिक श्रृंखला बन गई है जो ब्लॉकचेन अवसंरचना विकसित करने के लिए एक संप्रभु राज्य के साथ सहयोग समझौते पर पहुंच गई है। डोमिनिका की प्राकृतिक विरासत और पर्यटक आकर्षणों की वैश्विक दृश्यता बढ़ाने के लिए ट्रॉन को डोमिनिका का फैन टोकन, डोमिनिका कॉइन (डीएमसी) जारी करने के लिए अधिकृत किया गया है। इसी समय, TRON के अंतर्गत सात प्रमुख टोकन को डोमिनिका में कानूनी डिजिटल मुद्रा और कानूनी निविदा का दर्जा दिया गया।

  • उच्च थ्रूपुट: ट्रॉन में टीपीएस में सुधार करके उच्च थ्रूपुट प्राप्त किया जाता है, और दैनिक उपयोग के लिए इसकी व्यावहारिकता बिटकॉइन और एथेरियम से आगे निकल गई है।

  • स्केलेबिलिटी: अच्छी स्केलेबिलिटी और कुशल स्मार्ट कॉन्ट्रैक्ट्स के आधार पर, TRON में अनुप्रयोगों में अधिक परिनियोजन विधियां हो सकती हैं, और TRON बड़ी संख्या में उपयोगकर्ताओं का समर्थन कर सकता है।

  • उच्च विश्वसनीयता: TRON में अधिक विश्वसनीय नेटवर्क संरचना, उपयोगकर्ता परिसंपत्तियां, आंतरिक मूल्य और विकेन्द्रीकृत सर्वसम्मति का उच्च स्तर है जो बेहतर पुरस्कार वितरण तंत्र लाता है।

व्यवहार में प्रयुक्त संसाधन और सामग्रियाँ

  • ट्रॉन मेननेट आधिकारिक जीआरपीसी नोड

grpc.trongrid.io:50051

  • अन्य नोड्स:

आप अन्य नोड प्रदाताओं से JSON-RPC नोड्स, REST नोड्स आदि का उपयोग कर सकते हैं (आप अनुरोध करने के लिए HttpQuery का उपयोग कर सकते हैं)। FMZ पर एक्सचेंज ऑब्जेक्ट एनकैप्सुलेशन के लिए एकमात्र कॉल grpc विधि है।

  • ट्रॉन वॉलेट

आपको एक TRON वॉलेट तैयार करना होगा। आप OKX, imToken आदि का उपयोग कर सकते हैं, या आप खुद भी इसे बना सकते हैं।

  • tronscan

https://tronscan.org/

  • ट्रॉन प्रोटोकॉल

https://github.com/tronprotocol

  • SunSwap

https://sun.io/?lang=zh-CN#/v3/swap

https://github.com/sunswapteam

FMZ पर WEB3 एक्सचेंज ऑब्जेक्ट कॉन्फ़िगर करें

एफएमजेड प्लेटफॉर्म ने ट्रॉन का समर्थन करने से पहले, एथेरियम के वेब3 विकास का समर्थन करने का बीड़ा उठाया था। आप यूनीस्वैप विकेन्द्रीकृत एक्सचेंज से जुड़ने का तरीका जानने के लिए पिछले लेखों की समीक्षा कर सकते हैं। चूंकि ट्रॉन एथेरियम के साथ संगत है और ETH और EOS की कुछ विशेषताओं को एकीकृत करता है, इसलिए स्मार्ट अनुबंध निष्पादन और ऑन-चेन इंटरैक्शन में इसके अद्वितीय फायदे हैं। FMZ प्लेटफॉर्म पर ट्रॉन एक्सचेंज ऑब्जेक्ट्स (वॉलेट, नोड जानकारी) को कॉन्फ़िगर करना लगभग एथेरियम एक्सचेंज ऑब्जेक्ट्स (वॉलेट, नोड जानकारी) को कॉन्फ़िगर करने के समान है।

एक्सचेंज ऑब्जेक्ट जोड़ें

एक्सचेंज जोड़ें पृष्ठ पर:

https://www.fmz.com/m/platforms/add

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

वॉलेट को कॉन्फ़िगर करें, ChainType के रूप में TRON का चयन करें, और डिफ़ॉल्ट RPC नोड पता का उपयोग करें।

सामान्य JSON-RPC नोड विधि अभ्यास

हम परीक्षण के लिए प्लेटफ़ॉर्म के डिबगिंग टूल का उपयोग कर सकते हैं।

डिबगिंग टूल: https://www.fmz.com/m/debug

eth_getBalance

जैसा कि नाम से पता चलता है, यह विधि बिल्कुल एथेरियम की विधि के समान है, और इसके कार्य भी बिल्कुल समान हैं। इस विधि का उपयोग निर्दिष्ट ट्रॉन वॉलेट में TRX बैलेंस को पढ़ने के लिए किया जाता है।

curl https://docs-demo.tron-mainnet.quiknode.pro/jsonrpc \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBalance","params":["0x41f0cc5a2a84cd0f68ed1667070934542d673acbd8", "latest"],"id":1,"jsonrpc":"2.0"}'

अनुरोधित शेष राशि डेटा एक बहुत बड़ा हेक्साडेसिमल मान है, जिसके लिए उस रूपांतरण फ़ंक्शन की आवश्यकता होती है जिसका उपयोग हमने पिछली एथेरियम-संबंधित रणनीति में किया था।

function toAmount(s, decimals) {
    return Number((BigDecimal(BigInt(s)) / BigDecimal(Math.pow(10, decimals))).toString())
}

function toInnerAmount(n, decimals) {
    return (BigDecimal(n) * BigDecimal(Math.pow(10, decimals))).toFixed(0)
}

चूंकि ट्रॉन वॉलेट से कॉपी किया गया वॉलेट पता एक बेस58-एनकोडेड पता है, इसलिए इसे उपयोग करने से पहले इसे हेक्स-एनकोडेड पैरामीटर में परिवर्तित करना होगा।

function base58ToHex(base58Str) {
    const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
    
    var num = BigInt(0)
    for (var char of base58Str) {
        var digit = BigInt(ALPHABET.indexOf(char));
        if (digit === BigInt(-1)) throw new Error("Invalid Base58 character: " + char)
        num = num * BigInt(58) + digit
    }

    var hex = num.toString(16)
    
    if (hex.length % 2 !== 0) {
        hex = "0" + hex
    }

    return "0x" + hex
}

पता परिवर्तित करने के बाद, हम इसे कॉल कर सकते हैंeth_getBalanceतरीका।

पूर्ण परीक्षण कोड:

function toAmount(s, decimals) {
    return Number((BigDecimal(BigInt(s)) / BigDecimal(Math.pow(10, decimals))).toString())
}

function toInnerAmount(n, decimals) {
    return (BigDecimal(n) * BigDecimal(Math.pow(10, decimals))).toFixed(0)
}

function base58ToHex(base58Str) {
    const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
    
    var num = BigInt(0)
    for (var char of base58Str) {
        var digit = BigInt(ALPHABET.indexOf(char));
        if (digit === BigInt(-1)) throw new Error("Invalid Base58 character: " + char)
        num = num * BigInt(58) + digit
    }

    var hex = num.toString(16)
    
    if (hex.length % 2 !== 0) {
        hex = "0" + hex
    }

    return "0x" + hex
}

function main() {
    var tronAddress = "Tron 钱包地址"
    var hexAddress = base58ToHex(tronAddress).substring(2, 44)

    var jsonrpcBase = "https://go.getblock.io/xxx/jsonrpc"  // 具体的JSON-RPC节点
    var body = {
        "method": "eth_getBalance",
        "params": [hexAddress, "latest"],
        "id":1,
        "jsonrpc":"2.0"
    }

    var options = {
        method: "POST",
        body: JSON.stringify(body),
        headers: {"accept": "application/json", "content-type": "application/json"},
        timeout: 1000
    }

    var ret = JSON.parse(HttpQuery(jsonrpcBase, options))
    var balance = ret.result
    return toAmount(balance, 6)
}

TRX की टोकन परिशुद्धता 6 है, इसलिए bigNumber को संसाधित करते समय पैरामीटर 6 भरें।

FMZ प्लेटफॉर्म के डिबगिंग टूल में परीक्षण करें:

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

ट्रोनस्कैन पर पूछे गए वॉलेट में TRX बैलेंस की तुलना करने पर, डेटा सुसंगत है।

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

gRPC नोड विधि अभ्यास

FMZ प्लेटफ़ॉर्म पर मुख्य अभ्यास सामग्री grpc नोड की विधि कॉल है। सीमित स्थान के कारण, यहाँ केवल सामान्य रूप से उपयोग की जाने वाली विधि कॉल ही सूचीबद्ध हैं।

प्रोटोटाइप कॉलिंग:exchange.IO("api", "tron", "method name", ...). “विधि नाम” वह विधि का नाम है जिसे बुलाया जाना है।

GetAccount

वॉलेट खाते की जानकारी पूछें.

function main() {
    var account = exchange.IO("api", "tron", "GetAccount", "tron 钱包地址")  // tron 钱包地址 :填写实际的钱包地址。
    return account
}

वापसी कॉल जानकारी (अंश):

{
    "address": {},
    "balance": 72767348,   // 即钱包的TRX余额:72.767348
    "asset_optimized": true,
    "create_time": 1693463943000,
    ...

GetTransactionInfoByID

स्थानान्तरण की जाँच करें.

function main() {
    return exchange.IO("api", "tron", "GetTransactionInfoByID", "305f0c2487095effcf9e2db61f021f976707611424cba57e1d6464736f7f49e7") 
}

लौटाया गया डेटा:

{"id":{},"fee":1100000,"blockNumber":70192360,"blockTimeStamp":1741229766000,"contractResult":[{}],"receipt":{"net_fee":100000}}

ListNodes

सभी नोड जानकारी लौटाता है.

function main() {
    return exchange.IO("api", "tron", "ListNodes")
}

TRC20GetDecimals

TRC20 टोकन की सटीकता जानकारी की जांच करें

function main() {
    return exchange.IO("api", "tron", "TRC20GetDecimals", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t")  // USDT
}

TRC20ContractBalance

किसी निश्चित वॉलेट पते में किसी निश्चित TRC20 टोकन के शेष की जानकारी प्राप्त करें।

function main() {
    return exchange.IO("api", "tron", "TRC20ContractBalance", "TRX 钱包地址", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t")
}

GetNowBlock

वर्तमान ब्लॉकचेन पर नवीनतम ब्लॉक जानकारी लौटाता है।

function main() {
    return exchange.IO("api", "tron", "GetNowBlock")
}

लौटाया गया डेटा:

{
    "transactions": [
        {
            "transaction": {
                "raw_data": {
                    "ref_block_bytes": {},
                    "ref_block_hash": {},
                    "expiration": 1741489083000,
                    "contract": [
                        {
                            "type": 1,
                            "parameter": {
                                "type_url": "type.googleapis.com/protocol.TransferContract",
                                "value": {}
                                ...

GetAccountNet

TRON खाते की बैंडविड्थ जानकारी क्वेरी करें।

function main() {
    return exchange.IO("api", "tron", "GetAccountNet", "TWTbnQuiWvEg...")
}

लौटाया गया डेटा:

{
    "freeNetLimit": 600,
    "TotalNetLimit": 43200000000,
    "TotalNetWeight": 26982826755
}

CreateAccount

ट्रॉन खाता बनाएं.

function main() {
    return exchange.IO("api", "tron", "CreateAccount", "TWTbnQ...", "TKCG9...")
}

मौजूदा खाता बनाने का प्रयास करने पर यह त्रुटि दिखाई देगी:

Futures_OP 4: Contract validate error : Account has existed

GetBlockByNum

ब्लॉक ऊंचाई के आधार पर ब्लॉक जानकारी प्राप्त करें।

function main() {
    return exchange.IO("api", "tron", "GetBlockByNum", 70227286)
}

लौटाया गया डेटा:

{
    "transactions": [
        {
            "transaction": {
                "raw_data": {
                    "ref_block_bytes": {},
                    "ref_block_hash": {},
                    "expiration": 1741334628000,
                    "contract": [
                    ...

TRC20GetName / TRC20GetSymbol

TRC20GetName, अनुबंध पते के आधार पर TRC20 टोकन नाम की क्वेरी करें। TRC20GetSymbol, अनुबंध पते के अनुसार TRC20 टोकन प्रतीक की क्वेरी करें

function main() {
    Log("TRC20GetName:", exchange.IO("api", "tron", "TRC20GetName", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"))
    Log("TRC20GetSymbol:", exchange.IO("api", "tron", "TRC20GetSymbol", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"))
}

लौटाया गया डेटा:

2025-03-09 11:18:43.083		信息 TRC20GetSymbol: USDT
2025-03-09 11:18:43.006		信息 TRC20GetName: Tether USD

ParseTRC20…

function main() {
    // 例如某个转账数据中的Data,转换为可读数值
    Log("ParseTRC20NumericProperty:", exchange.IO("api", "tron", "ParseTRC20NumericProperty", "0x00000000000000000000000000000000000000000000000000000001a13b8600"))  // 7000000000

    // 例如某个转账数据中的Data,转换为可读字符串
    Log("ParseTRC20StringProperty:", exchange.IO("api", "tron", "ParseTRC20StringProperty", "0x0000000000000000000000000000000000000000000000000000000055534454"))    // USDT
}

TRC20Call

TRC20 अनुबंध को कॉल करने के लिए, हम TRC20 अनुबंध की balanceOf विधि का उपयोग करते हैं, पहले इसे एनकोड करते हैं, और फिर TRC20Call का उपयोग करके इसे कॉल करते हैं।

function main() {
    var data = exchange.IO("pack", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "balanceOf", "TWTbnQuiWvEg...")
    var tx = exchange.IO("api", "tron", "TRC20Call", "TWTbnQuiWvEg...", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", data, true, 0)
    return tx.constant_result
}
  • “TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t” : TRC20 USDT अनुबंध पता.
  • “TWTbnQuiWvEg…” : पैरामीटर, balanceOf विधि द्वारा अनुरोधित शेष राशि का TRX वॉलेट पता।
  • “balanceOf” : वह विधि नाम जिसे एनकोड किया जाना आवश्यक है.

स्थिर विधियों को प्रसारण की आवश्यकता नहीं होती। कॉल परिणाम tx.constant_result में रिकॉर्ड किया जाता है.

Transfer

एक ट्रांस डेटा का निर्माण करें.

function main() {
    var trans = exchange.IO("api", "tron", "Transfer", "TWTb...", "TKCG9FN...", 1000000)
    return trans
}
  • TWTb...: TRX वॉलेट A का पता.
  • TKCG9FN...: TRX वॉलेट B का पता.
  • 1000000: 1TRX स्थानांतरित करें.

लौटाया गया डेटा:

{
    "transaction": {
        "raw_data": {
            "ref_block_bytes": {},
            "ref_block_hash": {},
            "expiration": 1741493085000,
            "contract": [
                {
                    "type": 1,
                    "parameter": {
                        "type_url": "type.googleapis.com/protocol.TransferContract",
                        "value": {}
                    }
                }
            ],
            "timestamp": 1741493025759
        }
    },
    "txid": {},
    "result": {
        "result": true
    }
}

GetContractABI

अनुबंध पते के आधार पर अनुबंध ABI प्राप्त करें।

function main() {
    var usdtABI = exchange.IO("api", "tron", "GetContractABI", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t")
    return usdtABI
}

लौटाया गया डेटा:

{
    "entrys": [
        {
            "constant": true,
            "name": "name",
            "outputs": [
                {
                    "type": "string"
                }
            ],
            "type": 2,
            "stateMutability": 2
        },
        {
            "constant": true,
            "name": "deprecated",
            "outputs": [
                {
                    "type": "bool"
                }
            ],
            "type": 2,
            "stateMutability": 2
        },
        ...

Transfer

की ओरTKCG9FN1j...1TRX को ट्रॉन वॉलेट पते पर स्थानांतरित करें।

function main() {
    var ownerAddress = exchange.IO("address")
    var ret = exchange.IO("api", "tron", "Transfer", ownerAddress, "TKCG9FN1j...", 1000000)     
    return ret
}

TriggerConstantContract

स्मार्ट अनुबंध की विधि को कॉल करें.

function main() {
    var tx = exchange.IO("api", "tron", "TriggerConstantContract", "TWTbnQu...", "TSUUVjysXV8YqHytSNjfkNXnnB49QDvZpx", "token0()", "")
    var ret2 = Encode("raw", "raw", "hex", tx.constant_result[0])
    Log(ret2) // 000000000000000000000000891cdb91d149f23b1a45d9c5ca78a88d0cb44c18
}

लौटाया गया डेटा sunSwap ट्रेडिंग पूल का टोकन0 टोकन पता है।

स्मार्ट अनुबंध विधि कॉल

  • USDT बैलेंस की जांच करें

ट्रॉन चेन पर स्मार्ट कॉन्ट्रैक्ट विधि को कॉल करेंbalanceOfTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6tके लिएUSDTटोकन का स्मार्ट अनुबंध पता.

  function toAmount(s, decimals) {
      return Number((BigDecimal(BigInt(s)) / BigDecimal(Math.pow(10, decimals))).toString())
  }

  function main() {
      var balance = exchange.IO("api", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "balanceOf", "Tron 钱包地址")
      return toAmount(balance, 6)
  }

आप अपने वॉलेट में USDT का बैलेंस चेक कर सकते हैं: 0.000019

FMZ क्वांटिटेटिव वेब3 विस्तार: ट्रॉन समर्थन जोड़ा गया, ऑन-चेन लेनदेन क्षमताओं का विस्तार किया गया

एक्सचेंज.आईओ की अन्य विशेषताएं

एफएमजेड प्लेटफॉर्मWeb3 tronएक्सचेंज ऑब्जेक्टexchange.IOयह फ़ंक्शन निम्नलिखित फ़ंक्शनों को कार्यान्वित करता है।

  • TRX स्थानांतरण
  function main() {
      var ret = exchange.IO("api", "tron", "send", "目标TRX钱包地址", 1)  // 需要注意,参数1 表示 0.000001 TRX ,需要转换数值为链上数值。
      return ret   // 转账hash: 305f0c2487095effcf9e2db61f021f9767076114...
  }
  • स्विच नोड पता
  exchange.IO("base", "rpc address")  // rpc address 替换为具体的节点地址
  // 或者
  exchange.IO("rpc", "rpc address")
  • स्मार्ट अनुबंध ABI पंजीकृत करें
  exchange.IO("abi", "contract ABI")  // contract ABI 替换为具体的合约ABI内容
  • वर्तमान एक्सचेंज ऑब्जेक्ट से जुड़े वॉलेट का पता प्राप्त करें
  exchange.IO("address")  // 返回tron钱包地址
  • pack / encode / encodePacked

पैक / एनकोड: डेटा एनकोड / पैक, विधि कॉल।

  function main() {
      // 打包TRC20合约的balanceOf方法调用
      var data1 = exchange.IO("pack", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "balanceOf", "TWTbnQu...")  // TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t 为USDT合约地址
      Log(data1)
      var data2 = exchange.IO("encode", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "balanceOf", "TWTbnQu...")
      Log(data2)
      Log("data1 == data2:", data1 == data2)  // true

      // 编码数据为uint256
      var data3 = exchange.IO("pack", "uint256", 19)   // 数据为: 19
      Log(data3)
      var data4 = exchange.IO("encode", "uint256", 19)
      Log(data4)
      Log("data3 == data4:", data3 == data4)
  }

encodePacked: एनकोडेड और पैकेज्ड

  function main() {
      var data1 = exchange.IO("encodePacked", "address", "TWTbnQu...")
      Log(data1)
      //                          e0c12e16a9f713e5f104c...

      var data2 = exchange.IO("encode", "address", "TWTbnQu...")
      Log(data2)
      // 000000000000000000000000 e0c12e16a9f713e5f104c...
  }
  • unpack / decode

अनपैक / डिकोड: डेटा अनपैक / डिकोड, विधि कॉल।

  function main() {
      var data = exchange.IO("pack", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "balanceOf", "TWTbnQu...")
      Log(data)
      var tx = exchange.IO("api", "tron", "TRC20Call", "TWTbnQu...", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", data, true, 0)
      var ret = Encode("raw", "raw", "hex", tx.constant_result[0])
      Log(ret)

      // 解码
      var usdtBalance = exchange.IO("decode", "uint256", ret)
      Log("usdtBalance:", usdtBalance)

      // 解码
      return exchange.IO("unpack", "uint256", ret)
  }
  • निजी कुंजी अपडेट/आयात करें
  exchange.IO("key", "xxx")  // xxx 为私钥
  • हैश की गणना प्रोटोटाइप कॉलिंग:exchange.IO("hash", algo, inputFormat, outputFormat, data)

वर्तमान में कॉन्फ़िगर की गई निजी कुंजी के साथ हस्ताक्षर करें और हस्ताक्षरित डेटा लौटाएं।

  var signature = exchange.IO("hash", "sign", "string", "hex", "txHash")  // txHash: 具体hash值

सनस्वैप पर एक पहली नज़र

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

function main() {
    var poolIndexs = exchange.IO("api", "TThJt8zaJzJMhCEScH7zWKnp5buVZqys9x", "allPoolsLength")
    Log("poolIndexs:", poolIndexs)  // 交易对索引总数

    var hexAddress = exchange.IO("api", "TThJt8zaJzJMhCEScH7zWKnp5buVZqys9x", "allPools", exchange.IO("encode", "uint256", 1)) 
    Log("hexAddress:", hexAddress)  // 索引为1的交易对地址
}

सीमित स्थान के कारण, हम अगले लेख में पाठकों के साथ विस्तृत सनस्वैप सामग्री साझा करेंगे। आपके समर्थन के लिए धन्यवाद।

THE END

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

इस लेख में, हमने ट्रॉन नेटवर्क के लिए FMZ प्लेटफ़ॉर्म के समर्थन को पेश किया और ट्रॉन श्रृंखला पर SunSwap DEX की अनुबंध विधि कॉल को लागू किया। ब्लॉकचेन प्रौद्योगिकी के विकास के साथ, वेब3 मात्रात्मक लेनदेन की संभावनाएं बढ़ती रहेंगी। एफएमजेड मात्रात्मक व्यापारियों को अधिक लचीला, सुरक्षित और कुशल व्यापारिक वातावरण प्रदान करने के लिए अपनी वेब3 क्षमताओं को अनुकूलित और बेहतर बनाना जारी रखेगा, जिससे उपयोगकर्ताओं को ऑन-चेन बाजार में अधिक लाभ प्राप्त करने में मदद मिलेगी।

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