অনুগ্রহ করে FMZ কে বলুন কিভাবে Uniswap V3 ব্যক্তিগত লিকুইডিটি পুলের কয়েন সংগ্রহ করতে হয়।

লেখক:ডান্সিং লাইফ৮৬, সৃষ্টিঃ ২০২৩-০৭-১৩ ১৩ঃ৪৮ঃ৩৫, আপডেটঃ

উদাহরণস্বরূপhttps://app.uniswap.org/#/pools/536461এর মধ্যে GRT / ETH এর সংখ্যা


আরো

ছোট্ট স্বপ্নএই নিবন্ধে, আমি একটি নিবন্ধ লিখতে এবং এটি সংরক্ষণাগারে রাখার পরিকল্পনা করছি।

ছোট্ট স্বপ্নআপনি এই চেষ্টা করতে পারেনঃ https://www.fmz.com/digest-topic/10146

ছোট্ট স্বপ্নএইসব বিষয়বস্তু http://etherscan.io/ এ পাওয়া যাবে। এইসব বিষয়বস্তুর কোড শুধুমাত্র একটি উদাহরণ, যা বিশ্লেষণ করা প্রয়োজন।

ডান্সিং লাইফ৮৬/upload/asset/14dbf23df936e703bfe06.jpg ফলাফলের মধ্যে আমি চাই না যে GRT এবং ETH এর সমান পরিমাণ /upload/asset/14f1cb40efba017ae74d2.jpg

ডান্সিং লাইফ৮৬ABI_UniswapV3Router আমি যা খুঁজছি তা হল https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code এর ভিতরে, ABI_NonfungiblePositionManager এর মত নয়, দয়া করে কোথায় খুঁজছেন?

ছোট্ট স্বপ্নএটি সম্ভবত ABI ভুল, বা কল করার পদ্ধতি ভুলভাবে লেখা হয়েছে, আমি উপরে পাঠানো কোডটি ব্যবহার করে পরীক্ষা করেছি। আপনাকে একটি সম্পূর্ণঃ `` ABI_Uniswap:"V3Router:":"internalType:":"address:":"name:"_factoryV2",:"Type:":":"Type:":":"Mutability:":":"Type:":":":"Di-paybytes:":"constructor:":":"Type:":":":"Type:":":":"Type:":":":"Type:":":":"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:"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:":":":":":":":"type:":":":":":":":"type:":":":":":":"address","name:":":"WETH9","type:":":":"address:":":":"",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") Log (("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) "এটি একটি অস্থায়ী অবস্থান পরিচালক ঠিকানা। // রেজিস্টার positionManager চুক্তির ABI exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) এর সাথে সম্পর্কিত // বর্তমান অ্যাকাউন্টে থাকা Uniswap V3 NFT পজিশনের সংখ্যা অনুসন্ধান করে var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) Log (("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 tokens = {} ফাংশন 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, decimals: token.decimals, ঠিকানাঃ token.address } }) Log (("tokens:", tokens) } function parsePosData ((posData) {) /* { "নোনস": "0", 'operator': "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "token1": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", ফিঃ ৩০০০। "feeGrowthInside0LastX128": "552824104363438506727784685971981736468", "552824104363438506727784685971981736468", "5528241043634383838506727784685971981736468", "552824104363838383838506727784685971981736468" এবং "552824104363838383838506727784685971981736468", "55282410436" এবং "55281736468" এর মধ্যে রয়েছে। "feeGrowthInside1LastX128": "2419576808699564757520565912733367379", "2419576808699564757520565912733367379", "241957680869956475752056591273336367379", "241957680869956475752056591273336367379" এবং "24195768086995647520565752056591273336367379", "2419576808636995647575205659205659127363636367379", "241957680863699536379" এবং "24195768086369967575757520675675" এর মধ্যে রয়েছে। "tokensOwed0": "0", "tokensOwed1": "0", "token0": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "tickLower": "-62160", টিক-আপারঃ ৪১২৮০, "liquidity": "19090316141441365693" } */ আমি জানি। var token0Symbol = null var token1Symbol = null for (var symbol in tokens) { এর জন্য if (tokens[symbol].address == posData.token0) { token0Symbol = tokens[symbol] 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] } `` এটি ইথেরিয়ামে।

ডান্সিং লাইফ৮৬ত্রুটি রিপোর্ট /upload/asset/14e3b9c329f0e6d2b7e09.jpg 2 টি পদ্ধতি নিবন্ধিত নয়, এটি কি ABI অনুসন্ধান করছে? https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code এখানে অনুসন্ধান করা হয়েছে

ছোট্ট স্বপ্নআপনার পাঠানো স্ক্রিনশটে একটি কপি করুন ABI বোতাম রয়েছে, উপরের ডানদিকে; সরাসরি অনুলিপি করুন; অন্যান্য চেইনের ইউনিস্যাপ একই হওয়া উচিত; চুক্তির ঠিকানা ব্যতীত সংশ্লিষ্ট চেইনের চুক্তির ঠিকানা পূরণ করা উচিত নয়; সংক্ষিপ্তসার প্রয়োজন হবে না।

ডান্সিং লাইফ৮৬/upload/asset/14e185e563e61cd155424.jpg অনুগ্রহ করে ABI_UniswapV3Router ABI_NonfungiblePositionManager কে জিজ্ঞাসা করুন ছবির বিষয়বস্তু অনুলিপি করা কি ঠিক? তারপর যদি 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") Log (("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) "এটি একটি অস্থায়ী অবস্থান পরিচালক ঠিকানা। exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) এর সাথে সম্পর্কিত var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) Log (("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 ((pos)) Log (("pos:", pos) //pos হল প্রতিটি লিকুইডিটি হোল্ডিংয়ের তথ্য, যার মধ্যে ডেটা বিশ্লেষণ করা যায়। } } `` এই নিবন্ধটি পরে পাঠাগারে আপডেট করা হবে।

ছোট্ট স্বপ্নআপনি এই পোস্টটি অনুসরণ করতে পারেন, এখানে একটি নির্দিষ্ট উদাহরণ লিখতে হবে।

ডান্সিং লাইফ৮৬দয়া করে আমাকে একটু সাহায্য করুন।