avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Dibuat di: 2025-02-28 17:20:12, diperbarui pada: 2025-03-11 18:04:16
comments   0
hits   687

[TOC]

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Kata pengantar

Perkembangan teknologi blockchain mendorong perdagangan kuantitatif ke era Web3. Sebagai alat perdagangan kuantitatif terkemuka, platform perdagangan kuantitatif FMZ telah lama mengeksplorasi arah Web3 dan menyediakan fungsi terkait Ethereum, yang memungkinkan pengguna berinteraksi dengan kontrak pintar, mengelola dana, dan mengeksekusi strategi perdagangan otomatis langsung di rantai.

Saat ini, platform FMZ telah memperluas kemampuan perdagangan Web3 dan mendukung jaringan Tron (TRX), yang memungkinkan pengguna menerapkan strategi perdagangan kuantitatif pada dua rantai publik utama, Ethereum dan Tron. Peningkatan ini tidak hanya meningkatkan fleksibilitas transaksi lintas rantai, tetapi juga memberi pedagang lebih banyak kemungkinan untuk manajemen aset on-chain.

Dalam artikel ini, kami akan membahas secara rinci:

  • Diskusikan ekologi Tron, aplikasi, pengembangan, dan konten teknis lainnya dalam arah Web3 platform FMZ.
  • Praktikkan konfigurasi berdasarkan jaringan Tron pada platform FMZ.
  • Sumber daya dan materi yang digunakan dalam praktik
  • Berlatih memanggil metode pada node Tron.
  • SunSwap, praktik DeFi berdasarkan ekosistem Tron.

Pengantar Tron

Detail Pengenalan TRX-TRON (Dikutip dari Feixiaohao)

TRON didirikan oleh Justin Sun pada bulan September 2017 dan telah mencapai banyak prestasi luar biasa sejak peluncuran mainnetnya pada bulan Mei 2018. Pada bulan Juli 2018, ekosistem TRON menyelesaikan integrasinya dengan BitTorrent, pelopor dalam penyediaan layanan Web 3.0 terdesentralisasi dengan lebih dari 100 juta pengguna aktif bulanan. Dalam beberapa tahun terakhir, jaringan TRON telah berkinerja cemerlang. Data TRONSCAN menunjukkan bahwa hingga Oktober 2022, jumlah total pengguna rantai publik TRON telah melampaui 115 juta, jumlah transaksi telah melampaui 4 miliar, dan total nilai terkunci (TVL) telah melampaui US$13,2 miliar. Jaringan TRON sepenuhnya terdesentralisasi pada bulan Desember 2021 dan sekarang menjadi organisasi otonom terdesentralisasi (DAO) yang diatur oleh komunitas. Pada bulan Mei 2022, TRON mengumumkan peluncuran stablecoin super-collateralized terdesentralisasi USDD, yang didukung oleh bank sentral mata uang kripto industri, TRON Joint Reserve, yang menandai masuknya resmi TRON ke era stablecoin terdesentralisasi. Pada bulan Oktober 2022, Dominica mengumumkan bahwa TRON secara resmi ditetapkan sebagai infrastruktur blockchain nasional, menjadikan TRON sebagai rantai publik besar yang telah mencapai perjanjian kerja sama dengan negara berdaulat untuk mengembangkan infrastruktur blockchain. TRON telah diberi wewenang untuk menerbitkan token penggemar Dominica, Dominica Coin (DMC), untuk meningkatkan visibilitas global warisan alam dan objek wisata Dominica. Pada saat yang sama, tujuh token utama di bawah TRON diberikan status mata uang digital legal dan alat pembayaran yang sah di Dominika.

  • Throughput tinggi: Throughput tinggi dicapai dengan peningkatan TPS di TRON, dan kepraktisannya untuk penggunaan sehari-hari telah melampaui Bitcoin dan Ethereum.

  • Skalabilitas: Berdasarkan skalabilitas yang baik dan kontrak pintar yang efisien, aplikasi dapat memiliki lebih banyak metode penerapan di TRON, dan TRON dapat mendukung sejumlah besar pengguna.

  • Keandalan Tinggi: TRON memiliki struktur jaringan yang lebih andal, aset pengguna, nilai intrinsik, dan tingkat konsensus terdesentralisasi yang lebih tinggi menghadirkan mekanisme distribusi hadiah yang lebih baik.

Sumber daya dan materi yang digunakan dalam praktik

  • Node grpc resmi mainnet TRON

grpc.trongrid.io:50051

  • Node lainnya:

Anda dapat menggunakan node JSON-RPC, node REST, dll. dari penyedia node lain (Anda dapat menggunakan HttpQuery untuk meminta). Satu-satunya panggilan ke enkapsulasi objek pertukaran pada FMZ adalah metode grpc.

  • Dompet TRON

Anda perlu menyiapkan dompet TRON. Anda dapat menggunakan OKX, imToken, dll., atau Anda dapat membuatnya sendiri.

  • tronscan

https://tronscan.org/

  • Protokol Tron

https://github.com/tronprotocol

  • SunSwap

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

https://github.com/sunswapteam

Konfigurasikan objek pertukaran WEB3 di FMZ

Sebelum platform FMZ mendukung Tron, platform tersebut telah memimpin dalam mendukung pengembangan Web3 Ethereum. Anda dapat meninjau artikel sebelumnya untuk mempelajari cara terhubung ke bursa terdesentralisasi UniSwap. Karena Tron kompatibel dengan Ethereum dan mengintegrasikan beberapa fitur ETH dan EOS, ia memiliki keunggulan unik dalam eksekusi kontrak pintar dan interaksi on-chain. Mengonfigurasi objek pertukaran Tron (dompet, informasi node) pada platform FMZ hampir sama dengan mengonfigurasi objek pertukaran Ethereum (dompet, informasi node).

Tambahkan objek pertukaran

Di halaman Tambahkan Bursa:

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

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Konfigurasikan dompet, pilih TRON sebagai ChainType, dan gunakan alamat node RPC default.

Praktik metode node JSON-RPC umum

Kita dapat menggunakan alat debugging platform untuk mengujinya.

Alat debugging: https://www.fmz.com/m/debug

eth_getBalance

Seperti namanya, metode ini persis sama dengan metode Ethereum, dan fungsinya sama persis. Metode ini digunakan untuk membaca saldo TRX di dompet Tron yang ditentukan.

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

Data saldo yang diminta adalah nilai heksadesimal yang sangat besar, yang memerlukan fungsi konversi yang kami gunakan dalam strategi terkait Ethereum sebelumnya.

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

Karena alamat dompet yang disalin dari dompet Tron adalah alamat berkode base58, alamat tersebut perlu diubah ke parameter berkode hex sebelum dapat digunakan.

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
}

Setelah kita mengonversi alamatnya, kita dapat menyebutnyaeth_getBalanceMetode.

Kode tes lengkap:

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

Presisi token TRX adalah 6, jadi isi parameter 6 saat memproses bigNumber.

Uji coba pada alat debugging platform FMZ:

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Membandingkan saldo TRX di dompet yang ditanyakan pada tronscan, datanya konsisten.

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Praktik metode node gRPC

Konten praktik utama pada platform FMZ adalah pemanggilan metode node grpc. Karena keterbatasan ruang, hanya pemanggilan metode yang umum digunakan yang dicantumkan di sini.

Memanggil prototipe:exchange.IO("api", "tron", "method name", ...). “nama metode” adalah nama metode yang akan dipanggil.

GetAccount

Menanyakan informasi akun dompet.

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

Informasi panggilan balik (kutipan):

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

GetTransactionInfoByID

Periksa transfer.

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

Data yang dikembalikan:

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

ListNodes

Mengembalikan semua informasi simpul.

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

TRC20GetDecimals

Menanyakan informasi akurasi token TRC20

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

TRC20ContractBalance

Menanyakan saldo token TRC20 tertentu di alamat dompet tertentu.

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

GetNowBlock

Mengembalikan informasi blok terkini pada blockchain saat ini.

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

Data yang dikembalikan:

{
    "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

Menanyakan informasi lebar pita akun TRON.

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

Data yang dikembalikan:

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

CreateAccount

Buat akun Tron.

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

Mencoba membuat akun yang sudah ada akan menghasilkan kesalahan:

Futures_OP 4: Contract validate error : Account has existed

GetBlockByNum

Dapatkan informasi blok berdasarkan tinggi blok.

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

Data yang dikembalikan:

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

TRC20GetName / TRC20GetSymbol

TRC20GetName, menanyakan nama token TRC20 berdasarkan alamat kontrak. TRC20GetSymbol, menanyakan simbol token TRC20 sesuai dengan alamat kontrak

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

Data yang dikembalikan:

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

Untuk memanggil kontrak TRC20, kita menggunakan metode balanceOf dari kontrak TRC20, pertama-tama mengodekannya, dan kemudian memanggilnya menggunakan 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” : alamat kontrak TRC20 USDT.
  • “TWTbnQuiWvEg…” : Parameter, alamat dompet TRX dari saldo yang diminta oleh metode balanceOf.
  • “balanceOf”: Nama metode yang perlu dikodekan.

Metode konstan tidak memerlukan penyiaran. Hasil panggilan dicatat dalam tx.constant_result.

Transfer

Membangun data trans.

function main() {
    var trans = exchange.IO("api", "tron", "Transfer", "TWTb...", "TKCG9FN...", 1000000)
    return trans
}
  • TWTb...: Alamat dompet TRX A.
  • TKCG9FN...: Alamat dompet TRX B.
  • 1000000: Transfer 1TRX.

Data yang dikembalikan:

{
    "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

Dapatkan ABI kontrak berdasarkan alamat kontrak.

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

Data yang dikembalikan:

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

Transfer

TerhadapTKCG9FN1j...Transfer 1TRX ke alamat dompet tron.

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

TriggerConstantContract

Panggil metode kontrak pintar.

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
}

Data yang dikembalikan adalah alamat token token0 dari kumpulan perdagangan sunSwap.

Panggilan metode kontrak pintar

  • Periksa saldo USDT

Panggil metode kontrak pintar pada rantai tronbalanceOfTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6tuntukUSDTAlamat kontrak pintar token.

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

Anda dapat memeriksa saldo USDT di dompet Anda: 0,000019

Perluasan Web3 Kuantitatif FMZ: Dukungan Tron Ditambahkan, Kemampuan Transaksi On-chain Diperluas

Fitur lain dari exchange.IO

Platform FMZWeb3 tronObjek Pertukaranexchange.IOFungsi ini mengimplementasikan fungsi-fungsi berikut.

  • Transfer TRX
  function main() {
      var ret = exchange.IO("api", "tron", "send", "目标TRX钱包地址", 1)  // 需要注意,参数1 表示 0.000001 TRX ,需要转换数值为链上数值。
      return ret   // 转账hash: 305f0c2487095effcf9e2db61f021f9767076114...
  }
  • Ganti alamat node
  exchange.IO("base", "rpc address")  // rpc address 替换为具体的节点地址
  // 或者
  exchange.IO("rpc", "rpc address")
  • Daftarkan kontrak pintar ABI
  exchange.IO("abi", "contract ABI")  // contract ABI 替换为具体的合约ABI内容
  • Dapatkan alamat dompet yang terikat ke objek pertukaran saat ini
  exchange.IO("address")  // 返回tron钱包地址
  • pack / encode / encodePacked

pack / encode: Mengkode/mengemas data, pemanggilan metode.

  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: Dikodekan dan dikemas

  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

unpack / decode: Buka kemasan/dekode data, pemanggilan metode.

  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)
  }
  • Perbarui/Impor Kunci Pribadi
  exchange.IO("key", "xxx")  // xxx 为私钥
  • Menghitung hash Memanggil prototipe:exchange.IO("hash", algo, inputFormat, outputFormat, data)

Tanda tangani dengan kunci pribadi yang dikonfigurasi saat ini dan kembalikan data yang ditandatangani.

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

Sekilas tentang SunSwap

Praktik awal di bursa DEX pada rantai Tron: sunSwap. Kami memanggil kontrak pabrik sunSwap, meminta indeks semua pasangan perdagangan, lalu meminta alamat pasangan perdagangan dengan indeks 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的交易对地址
}

Karena keterbatasan ruang, kami akan membagikan konten sunSwap yang terperinci kepada para pembaca di artikel berikutnya. Terima kasih atas dukungan Anda.

THE END

Platform perdagangan kuantitatif FMZ terus berinovasi di era Web3, menyediakan ruang perdagangan on-chain yang lebih luas bagi pedagang kuantitatif. Dengan mendukung jaringan Tron, FMZ tidak hanya meningkatkan kemampuan transaksi lintas rantai, tetapi juga memungkinkan pengguna untuk secara efisien menjalankan interaksi kontrak pintar, pengelolaan dana, dan strategi perdagangan otomatis dalam ekosistem Tron.

Dalam artikel ini, kami memperkenalkan dukungan platform FMZ untuk jaringan Tron dan menerapkan panggilan metode kontrak SunSwap DEX pada rantai Tron. Dengan berkembangnya teknologi blockchain, kemungkinan transaksi kuantitatif Web3 akan terus berkembang. FMZ akan terus mengoptimalkan dan meningkatkan kemampuan Web3-nya untuk menyediakan lingkungan perdagangan yang lebih fleksibel, aman, dan efisien bagi pedagang kuantitatif, membantu pengguna memperoleh keuntungan lebih besar di pasar on-chain.

Terima kasih telah membaca dan terima kasih atas dukungan Anda.