Sumber daya yang dimuat... Pemuatan...

Tolong ajari FMZ bagaimana mendapatkan Uniswap V3 untuk jumlah koin di kolam pribadi.

Penulis:Dancinglife86, Dibuat: 2023-07-13 13:48:35, Diperbarui:

Misalnya, mendapatkanhttps://app.uniswap.org/#/pools/536461Jumlah GRT / ETH di dalamnya


Lebih banyak

Penemu Kuantitas - Mimpi KecilDi sisi lain, saya berencana untuk menulis sebuah artikel tentang hal itu dan menaruhnya di perpustakaan.

Penemu Kuantitas - Mimpi KecilAnda bisa mencoba ini: https://www.fmz.com/digest-topic/10146

Penemu Kuantitas - Mimpi KecilSemua ini dapat dilihat di https://etherscan.io/, dan kode yang muncul hanyalah contoh, yang harus diselesaikan secara spesifik.

Dancinglife86/upload/asset/14dbf23df936e703bfe06.jpg Hasilnya tidak menunjukkan berapa banyak GRT dan ETH yang saya inginkan

Dancinglife86ABI_UniswapV3Router sama seperti yang saya cari https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code di sini, ABI_NonfungiblePositionManager berbeda, tolong tanyakan di mana Anda mencarinya?

Penemu Kuantitas - Mimpi KecilMungkin ABI tidak benar, atau cara memanggilnya salah tulis, coba uji coba dengan kode yang saya kirim di atas. `` ABI:"Uniswap:"V3Router:" = const `[{"inputs"::"{"internalType":"address:":"name:"_factoryV2","Type:":":":"Type:":":":":"Mutability:":":"Type:":":":":":":"Di-paybytes:":":"constructor:":":":"Type:":":":"type:":":":":"type:":":":":"type:":":":":"type:":":":":"type:":":":":"type:":":":"type:":":":"type:":":":"type:":":":"type:":":":"type:":":":"type:":":":"type:":":"type:":":"type:":":"type:":"type:":"type:":"type:":"type:":"type:":"type:":"type:":"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:"type:" ABI_NonfungiblePositionManager = `[{"inputs":[{"internalType":"address","name":"_factory","type:":"address"},{"internalType:":":"address","name""WETH9","type:"address"},{"internal","type","address","name":"_tokenDescriptor_type",":"address"}],"stateMutability:":"nonpayable","constructor"},{"anonymous:":":":"type:":":":"false",:":":"inputs:":":"type:":":":":":":":":"type:":":":":":":":":":"type:":":":":":":":":"type:":":":":":":":"type:":":":":":":"type:":":":":":"type:":":":":":":"type:":":":":":":"O"indexed","type:":":"WETH9","type:":":"WETH9","type:":":":"type:":":":":":":"address:":":" const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" fungsi main (() { // Alamat dompet yang akan dicari // const walletAddress = exchange.IO (("address") const walletAddress = "0x28df8b987BE232bA33FdFB8Fc5058C1592A3db26" // Dapatkan alamat kontrak positionManager Uniswap V3 exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") Log ((("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) // Pendaftaran ABI dari kontrak positionManager exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) // Mencari jumlah posisi NFT Uniswap V3 yang dimiliki oleh akun saat ini var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) Log (("nftBalance:", nftBalance) Apa yang terjadi? // Meminta TokenId dari NFT ini var nftTokenIds = [] for (var i = 0 ; i < nftBalance; i++) { var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId)) Log (("nftTokenId:", nftTokenId) Aku tidak tahu. // Menanyakan detail posisi likuiditas berdasarkan posisi NFT tokenId posisi var = [] for (var i = 0; i < nftTokenIds.length; i++) { var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) Log (("pos:", pos) // Menganalisis data posisi positions.push ((parsePosData ((pos)) Aku tidak tahu. Apa yang terjadi? Var tbl = { type: "table", Title : "LP", cols: ["pair", "fee", "lower", "upper", "liquidity"], rows: posisi Aku tidak tahu. LogStatus (("`" + JSON.stringify ((tbl) + "`") Aku tidak tahu. Tanda-tanda var = {} fungsi init (() { var res = JSON.parse ((HttpQuery (("https://tokens.coingecko.com/uniswap/all.json")) Log (("fetch", res.tokens.length, "tokens from", res.name) _.each ((res.tokens, function ((token) { Tokens[token.symbol] = { Nama: token.symbol decimals: token.decimals, alamat: token.address Aku tidak tahu. Aku tidak tahu. Log (("tokens:", tokens) Aku tidak tahu. fungsi parse PosData ((posData) { /* Aku tidak tahu. "nonce": "0", Operator: "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "token1": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "Fee": "3000", "feeGrowthInside0LastX128": "552824104363438506727784685971981736468", dan "55282410104363438506727784685971981736468", dan "5528241043634383838506727784685971981736468" "feeGrowthInside1LastX128": "2419576808699564757520565912733367379", dan "Menggunakan aplikasi ini untuk berbagi informasi tentang pertumbuhan di situs web". "tokensOwed0": "0", "tokensOwed1": "0", "token0": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "TickLower": "-62160", dan "TickLower": "-62160", dan "TickLower": "TickUpper": "-41280", "TickUpper" berarti "TickUpper". "liquidity": "19090316141441365693" Aku tidak tahu. */ Apa yang terjadi? var token0Symbol = null var token1Symbol = null untuk (simbol var dalam token) { if (tokens[symbol].address == posData.token0) { token0Symbol = token[symbol] } else if (tokens[symbol].address == posData.token1) { token1Symbol = token[symbol] Aku tidak tahu. Aku tidak tahu. return [token0Symbol.name + "_" + token1Symbol.name, posData.fee / 10000 + "%", posData.tickLower, posData.tickUpper, posData.liquidity] Aku tidak tahu. `` Ini adalah situs Ethereum.

Dancinglife86Kesalahan /upload/asset/14e3b9c329f0e6d2b7e09.jpg 2 metode tidak terdaftar, apakah ABI mencari? https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code mencari di sini

Penemu Kuantitas - Mimpi KecilPada screenshot yang Anda kirimkan ada tombol copy ABI di pojok kanan atas. Copy langsung. Uniswap pada rantai lain harus sama.

Dancinglife86/upload/asset/14e185e563e61cd155424.jpg Mohon ABI_UniswapV3Router ABI_NonfungiblePositionManager apakah itu salinan isi gambar? Kemudian jika kita mengganti rantai seperti rantai Arbitrum, selain menambahkan alamat RPC, apakah parameter lainnya perlu diubah?

Penemu Kuantitas - Mimpi KecilJika Anda ingin membeli saham di sebuah kolam, Anda harus menyimpan saham Anda sendiri, kode berikut: `` const ABI_UniswapV3Router = ` terlalu panjang untuk dihapus untuk mengisi ABI tertentu` const ABI_NonfungiblePositionManager = ` terlalu panjang untuk dihapus untuk mengisi ABI tertentu` const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" fungsi main (() { // const walletAddress = exchange.IO (("address") const walletAddress = "atau tentukan alamat dompet" // Dapatkan alamat positionManager exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") Log ((("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) Log (("nftBalance:", nftBalance) Apa yang terjadi? var nftTokenIds = [] for (var i = 0 ; i < nftBalance; i++) { var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId)) Log (("nftTokenId:", nftTokenId) Aku tidak tahu. posisi var = [] for (var i = 0; i < nftTokenIds.length; i++) { var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) posisi.push (posisi) Log (("pos:", pos) // pos adalah setiap informasi penyimpanan likuiditas, yang dapat dianalisis secara spesifik. Aku tidak tahu. Aku tidak tahu. `` Artikel ini akan diperbarui di situs kami nanti.

Penemu Kuantitas - Mimpi KecilJika Anda ingin menulis contoh-contoh yang spesifik, Anda bisa mengikuti posting ini.

Dancinglife86Apakah Anda bisa membantu saya menyelesaikan masalah ini terlebih dahulu?