Bitte zeigen Sie FMZ, wie man Uniswap V3 für den persönlichen Flüssigkeitspool erhält

Schriftsteller:Das Tanzleben86, Erstellt: 2023-07-13 13:48:35, aktualisiert:

Zum Beispiel:https://app.uniswap.org/#/pools/536461Anzahl der GRT/ETH darin


Mehr

Kleine TräumeIch habe vor, einen Artikel darüber zu schreiben und ihn in die Bibliothek zu bringen.

Kleine TräumeVersuchen Sie das hier: https://www.fmz.com/digest-topic/10146

Kleine TräumeDas ist ein Beispiel für den Code, der auf https://etherscan.io/ angezeigt wurde.

Das Tanzleben86Ich habe keine Antwort, aber ich möchte wissen, wie viele GRT und ETH es gibt.

Das Tanzleben86Der ABI_UniswapV3Router ist derselbe wie der, den ich suchte. https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code Hier ist der ABI_NonfungiblePositionManager nicht derselbe.

Kleine TräumeEs ist wahrscheinlich, dass ABI falsch ist, oder dass die Anrufmethode falsch geschrieben wurde, und ich habe den Code, den ich oben geschickt habe, verwendet, um zu testen, ob es funktioniert. Ich weiß. ABI_Uniswap:"V3Router"::"internalType:":"address:":"name:"_factoryV2",:"Type:":":"Type:":":"Mutability:":":"Type:":":"Different:":"type:":":"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:"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","type:":":"constructor"},{"anonymous:":":"type:":"false",:":"inputs:":":"type:":":":":":":"type:":":":":":":":":":"type:":":":":":":":":"type:":":":":":":":"type:":":":":":":"type:":":":":":"type:":":":":":"type:":":":":":":"type:":":":":":"address","type:":":"WETH9","type:":":":"type:":":":":":"",type:":":":":":"",type:" const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" Die Funktion "main" // Adresse der Wallets, die angefordert werden soll // const walletAddress = exchange.IO (("Adresse") const walletAddress = "0x28df8b987BE232bA33FdFB8Fc5058C1592A3db26" // Erhalten Sie die Adresse des PositionManager-Vertrags von Uniswap V3 exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) ist ein Netzwerk, welches sich mit dem Internet verbinden lässt. const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") Log ((("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) ist eine Website, die sich mit der Nutzung von NonfungiblePositionManager-Dateien beschäftigt. // Registrierung der PositionManager-Verträge in der ABI exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) ist ein Netzwerk, welches sich mit der Nutzung von ABI beschäftigt. // Abfragt die Anzahl der Uniswap V3-Positionen für NFTs, die in einem aktuellen Konto gehalten werden Var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) ist ein Netzwerk, welches sich mit dem Netzwerk beschäftigt. Log (("nftBalance:", nftBalance) Das ist nicht wahr. // Die Token-Id dieser NFTs abfragt Var nftTokenIds = [] für (var i = 0 ; i < nftBalance; i++) { Var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId) ist ein Log (("nftTokenId:", nftTokenId) ist ein Wir sind hier. // Anfragen nach Liquiditätspositionsdetails auf Basis von Positions NFTs TokenId Var-Positionen = [] für (var i = 0; i < nftTokenIds.length; i++) { Var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) Log (("pos:", pos) // Positionsdaten analysieren Positions.push ((parsePosData ((pos)) Wir sind hier. Das ist nicht wahr. Das ist nicht so einfach. Typ: "Table", Titel: "LP" Cols: ["pair", "fee", "lower", "upper", "liquidity"], rows: Positionen Wir sind hier. LogStatus (("`" + JSON.stringify ((tbl) + "`") Wir sind hier. Das ist der Wert von VAR. Funktion init (() { Das ist ein sehr schwieriges Problem, aber es ist nicht einfach, es zu verstehen. Log (("fetch", res.tokens.length, "tokens from", res.name) _.each ((res.tokens, function ((token) {) Das bedeutet, dass wir uns nicht mehr auf die Dinge konzentrieren. Name: token.symbol, Das ist ein sehr schwieriger Fall. Adresse: Token.Adresse Wir sind hier. Wir sind hier. Log (("tokens:", tokens) Wir sind hier. Funktion Parse PosData (siehe unten) Ich weiß nicht. - Ich weiß. "nonce": "0", "operator": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "Token1": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "Fee": "3000", "feeGrowthInside0LastX128": "552824104363438506727784685971981736468", und "55282410104363438506727784685971981736468", die sich in den letzten zehn Jahren in den USA auf den Markt gebracht haben. "feeGrowthInside1LastX128": "2419576808699564757520565912733367379", eine Liste von kostenpflichtigen Beiträgen, die von den Kunden erhalten werden. "tokensOwed0": "0", "tokensOwed1": "0", "token0": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "TickLower": "-62160", "TickUpper": "-41280", "Liquidity": "19090316141441365693" Wir sind hier. */ Das ist nicht wahr. Var token0 Symbol = null Var token1 Symbol = null für (var symbol in tokens) { wenn (tokens[symbol].address == posData.token0) { Token0Symbol = Tokens[symbol] } else if (tokens[symbol].address == posData.token1) { Token1Symbol = Tokens[symbol] Wir sind hier. Wir sind hier. return [token0Symbol.name + "_" + token1Symbol.name, posData.fee / 10000 + "%", posData.tickLower, posData.tickUpper, posData.liquidity] [Wir haben eine Liste von Symbolen gefunden, die von uns verwendet wurden, um die Daten zu speichern] Wir sind hier. Ich weiß. Das ist ein E-Mail-Post, das von den Anbietern des Ethereum-Systems veröffentlicht wurde.

Das Tanzleben86Fehlermeldung /upload/asset/14e3b9c329f0e6d2b7e09.jpg Zwei Methoden sind nicht registriert, ist ABI auf der Suche? https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code hier gefunden

Kleine TräumeAuf dem Bildschirm, den Sie gesendet haben, befindet sich ein Kopie-ABI-Button in der oberen rechten Ecke.

Das Tanzleben86/upload/asset/14e185e563e61cd155424.jpg Bitte fragen Sie ABI_UniswapV3Router ABI_NonfungiblePositionManager ist es der Inhalt des Bildes zu kopieren? Sollte man dann eine andere Parameter als die hinzugefügte RPC-Adresse ändern, wenn man eine Kette wie die Arbitrum-Kette wechselt? Zum Beispiel:

Kleine TräumeWenn Sie in einem Tausch-Pool sein möchten, können Sie sich das eigene Lager mit folgendem Code anbieten: Ich weiß. const ABI_UniswapV3Router = ` zu lange ausgelassen, um die spezifische ABI zu füllen` const ABI_NonfungiblePositionManager = ` zu lange ausgelassen, um eine bestimmte ABI zu füllen` const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" Die Funktion "main" // const walletAddress = exchange.IO (("Adresse") const walletAddress = "oder geben Sie eine Wallet-Adresse an" // erhalten PositionManager Adresse exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router) ist ein Netzwerk, welches sich mit dem Internet verbinden lässt. const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager") Log ((("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress) ist eine Website, die sich mit der Nutzung von NonfungiblePositionManager-Dateien beschäftigt. exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager) ist ein Netzwerk, welches sich mit der Nutzung von ABI beschäftigt. Var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress) ist ein Netzwerk, welches sich mit dem Netzwerk beschäftigt. Log (("nftBalance:", nftBalance) Das ist nicht wahr. Var nftTokenIds = [] für (var i = 0 ; i < nftBalance; i++) { Var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId) ist ein Log (("nftTokenId:", nftTokenId) ist ein Wir sind hier. Var-Positionen = [] für (var i = 0; i < nftTokenIds.length; i++) { Var pos = exchange.IO (("api", NonfungiblePositionManagerAddress, "positions", nftTokenIds[i]) Positions.push ((pos)) Log (("pos:", pos) // pos ist jede Liquiditätslagerinformation, in der die Daten analysiert werden können. Wir sind hier. Wir sind hier. Ich weiß. Ich werde den Artikel später in der Bibliothek aktualisieren.

Kleine TräumeIch möchte Ihnen sagen, dass ich die Frage, ob es möglich ist, dass Sie sich für eine solche Art von Debugging entscheiden, nicht beantworten kann.

Das Tanzleben86Kannst du mir helfen? Nein, danke.