कृपया FMZ को बताएं कि कैसे Uniswap V3 के व्यक्तिगत प्रवाह पूल के सिक्के प्राप्त करें।

लेखक:डांसिंगलाइफ86, बनाया गयाः 2023-07-13 13:48:35, अद्यतन किया गयाः

उदाहरण के लिए,https://app.uniswap.org/#/pools/536461इसमें GRT/ETH की संख्या


अधिक

छोटे सपनेइस लेख में हम एक लेख लिखने की योजना बना रहे हैं, जो इसे पुस्तकालय में रखेगा।

छोटे सपनेआप यह कोशिश कर सकते हैंः https://www.fmz.com/digest-topic/10146

छोटे सपनेसभी को https://etherscan.io/ पर देखा जा सकता है, लेकिन यह कोड केवल एक उदाहरण है, और विशिष्ट सामग्री का विश्लेषण किया जाना चाहिए।

डांसिंगलाइफ86/upload/asset/14dbf23df936e703bfe06.jpg परिणाम में नहीं है कि मैं चाहता हूँ GRT और ETH के लिए क्या संख्या है /upload/asset/14f1cb40efba017ae74d2.jpg

डांसिंगलाइफ86ABI_UniswapV3Router एक ही है जो मैं खोज रहा हूँ https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code इस में, ABI_NonfungiblePositionManager अलग है, कृपया पूछें कि आप कहां खोज रहे हैं?

छोटे सपनेशायद एबीआई गलत है, या कॉल करने का तरीका गलत लिखा गया है, मैंने ऊपर दिए गए कोड का उपयोग करके परीक्षण किया है। `` ABI_Uniswap:"V3Router:"_type":"inputs"::"{"internalType":"address:":"_name:"_factoryV2","Type:":":"Type:":":":":"Mutability:":":":":"Type:":":":":"Di-payable:":"Di-bytes:":"constructor:":":"Type:":":":"inputs:":":"Type:":":":"Di:":"type:":":":":":"Address:":":"", "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":"{"inputs":]]],"stateMutability:":"nonpayable","constructor"},{"anonymous:":":":"Type:":":"false",:":":"inputs:":":":":":"type:":":":":":":":":":"type:":":":":":":":":":"type:":":":":":":":":"type:":":":":":":":"type:":":":":":"type:":":":":":":":":"type:":":":":":":":"{"indexed:":":":"WETH9","type:":":":":":"type:":":":":":":":":":":":"type:":" const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" function main (() { // खोजे जाने वाले वॉलेट का पता // const walletAddress = exchange.IO (("पता") const walletAddress = "0x28df8b987BE232bA33FdFB8Fc5058C1592A3db26" // Uniswap V3 के positionManager अनुबंध का पता प्राप्त करें exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") लॉग (("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) // पंजीकृत स्थिति प्रबंधक अनुबंध के लिए एबीआई exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) // वर्तमान खाते में Uniswap V3 पदों के लिए एनएफटी की संख्या का पता लगाता है var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) लॉग (("nftBalance:", nftBalance) .. // इन एनएफटी के टोकन आईडी की जांच करें var nftTokenIds = [] for (var i = 0 ; i < nftBalance; i++) { var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId) लॉग (("nftTokenId:", nftTokenId) } // स्थिति एनएफटी के टोकन आईडी के आधार पर लिक्विडिटी स्थिति विवरण पूछता है var positions = [] for (var i = 0; i < nftTokenIds.length; i++) { var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) Log (("pos:", pos) // स्थिति डेटा को हल करें positions.push(parsePosData(pos)) } .. var tbl = { type: "table", title : "एलपी", cols: ["pair", "fee", "lower", "upper", "liquidity"], rows: positions } LogStatus (("`" + JSON.stringify ((tbl) + "`") } var टोकन = {} function 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] = { नामः token.symbol, दशमलव: token.decimals, address: टोकन.address } }) लॉग (("tokens:", tokens) } function parse PosData ((पोस्टडाटा) { /* { "नॉन्स": "0", 'operator': "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 'token1': "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "फी": "3000", "feeGrowthInside0LastX128": "552824104363438506727784685971981736468", "552824104363438506727784685971981736468", "5528241043634383838506727784685971981736468" और "5528241043638383838506727784685971981736468", "5528241043638383838506727784685971981736468" और "55281736468" और "55281736468" और "55281736468" और "552824104383838383838" के बीच एक अंतर है। "feeGrowthInside1LastX128": "2419576808699564757520565912733367379", "2419576808699564757520565912733367379", "241957680869956475752056591273336367379", "241957680869956475752056591273336367379" और "2419576808699564752056591273336367379", "2419576808636995647575205659205659127363636367379", "24195768086996367379", "241957680863699564757575752056592056591273636367379", "241956799999999" और "241959999999999999999999999999999999999999999999999999999 "tokensOwed0": "0", "tokensOwed1": "0", "token0": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "tickLower": "-62160", "टिक-अप": "-41280", "तरलता": "19090316141441365693" } */ .. var token0Symbol = शून्य var token1Symbol = शून्य for (var symbol in tokens) { के लिए if (tokens[symbol].address == posData.token0) { token0Symbol = टोकन[symbol] } else if (tokens[symbol].address == posData.token1) { token1Symbol = tokens[symbol] } } return [token0Symbol.name + "_" + token1Symbol.name, posData.fee / 10000 + "%", posData.tickLower, posData.tickUpper, posData.liquidity] } `` यह एथेरियम पर है।

डांसिंगलाइफ86त्रुटि रिपोर्ट /upload/asset/14e3b9c329f0e6d2b7e09.jpg 2 तरीके पंजीकृत नहीं हैं, क्या एबीआई ने सही खोज की है? https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code यहाँ खोजें

छोटे सपनेआपके द्वारा भेजे गए स्क्रीनशॉट में एक कॉपी एबीआई बटन है, शीर्ष दाएं कोने में; सीधे कॉपी शुरू करें; अन्य श्रृंखलाओं पर यूनिस्वैप समान होना चाहिए; अनुबंध पते के अलावा संबंधित श्रृंखला पर अनुबंध पते को भरें; सारांश की आवश्यकता नहीं होनी चाहिए।

डांसिंगलाइफ86/upload/asset/14e185e563e61cd155424.jpg कृपया ABI_UniswapV3Router ABI_NonfungiblePositionManager से पूछें क्या यह चित्र की सामग्री की प्रतिलिपि है? क्या यह संभव है, पूर्ण ABI भरें, सारांश भी नहीं जानते कि सारांश क्या है? और फिर अगर हम Arbitrum की तरह एक श्रृंखला को बदलते हैं, तो क्या RPC पते के अलावा अन्य पैरामीटर को बदलना होगा? उदाहरण के लिएः https://app.uniswap.org/#/pools/711084 में USDT / ARB की संख्या

छोटे सपनेएक बार जब आप अपने खाते में एक खाता बनाते हैं, तो आपको अपने स्वयं के भंडारण के लिए एक एक्सचेंज पूल प्राप्त करने की आवश्यकता होती है, निम्न कोडः `` const ABI_UniswapV3Router = ` बहुत लंबा छोड़ दिया गया है, विशिष्ट ABI को भरें` const ABI_NonfungiblePositionManager = ` बहुत लंबा छोड़ दिया गया है, विशिष्ट ABI को भरें` const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" function main (() { // const walletAddress = exchange.IO (("पता") const walletAddress = "या वॉलेट का पता निर्दिष्ट करें" // positionManager पता प्राप्त करें exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") लॉग (("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) लॉग (("nftBalance:", nftBalance) .. var nftTokenIds = [] for (var i = 0 ; i < nftBalance; i++) { var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId) लॉग (("nftTokenId:", nftTokenId) } var positions = [] for (var i = 0; i < nftTokenIds.length; i++) { var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) positions.push ((पोस) Log (("pos:", pos) // pos प्रत्येक लिक्विडिटी स्टोरेज की जानकारी है, जिसमें डेटा को विशेष रूप से विश्लेषित किया जा सकता है। } } `` इस लेख को बाद में लाइब्रेरी में अपडेट किया जाएगा।

छोटे सपनेयह एक बहुत ही दिलचस्प लेख है, लेकिन यह एक बहुत ही दिलचस्प लेख है, और यह एक बहुत ही दिलचस्प लेख है।

डांसिंगलाइफ86क्या आप पहले मेरी मदद कर सकते हैं?