Ví dụ:https://app.uniswap.org/#/pools/536461Số lượng GRT / ETH trong đó
Những nhà phát minh định lượng - những giấc mơ nhỏTrong khi đó, các nhà nghiên cứu cũng cho biết rằng một số công việc của họ có thể được thực hiện bằng cách sử dụng các phương pháp hợp đồng.
Những nhà phát minh định lượng - những giấc mơ nhỏBạn có thể thử điều này: https://www.fmz.com/digest-topic/10146
Những nhà phát minh định lượng - những giấc mơ nhỏCó thể xem trên http://etherscan.io/, mã phát ra chỉ là một ví dụ, nội dung cụ thể cần được phân tích cụ thể.
Dancinglife86/upload/asset/14dbf23df936e703bfe06.jpg Không có kết quả nào trong đó tôi muốn có số lượng tương ứng của GRT và ETH /upload/asset/14f1cb40efba017ae74d2.jpg
Dancinglife86ABI_UniswapV3Router giống như những gì tôi đang tìm kiếm là https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code trong đó, ABI_NonfungiblePositionManager không giống nhau, hãy hỏi bạn đang tìm kiếm ở đâu?
Những nhà phát minh định lượng - những giấc mơ nhỏCó lẽ ABI không đúng, hoặc phương thức gọi đã được viết sai, hãy thử với mã tôi gửi ở trên.
``
ABI:"Uniswap:"V3Router": const:"inputs:":"{"internalType:"address:":"name:"_factoryV2",:"Type:":":"Type:":":"Mutability:":":"Type:":":":"Di-payable:":"Type:":"Type:":":"Type:":":"Type:":":":"Di-byte:":"constructor:":"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:" "
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","type:":":":"address","type:":":"WETH9","type:":":":":"type:":":":":":":"WETH
const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
function main() {
// Địa chỉ ví muốn truy vấn
// const walletAddress = exchange.IO (("address")
const walletAddress = "0x28df8b987BE232bA33FdFB8Fc5058C1592A3db26"
// Nhận địa chỉ hợp đồng positionManager của Uniswap V3
exchange.IO (("abi", UniswapV3RouterAddress, ABI_UniswapV3Router)
const NonfungiblePositionManagerAddress = exchange.IO (("api", UniswapV3RouterAddress, "positionManager")
Log ((("NonfungiblePositionManagerAddress:", NonfungiblePositionManagerAddress)
// Đăng ký ABI của hợp đồng positionManager
exchange.IO (("abi", NonfungiblePositionManagerAddress, ABI_NonfungiblePositionManager)
// Tìm số lượng NFT Uniswap V3 có trong tài khoản hiện tại
var nftBalance = exchange.IO (("api", NonfungiblePositionManagerAddress, "balanceOf", walletAddress)
Log (("nftBalance:", nftBalance)
Không.
// Tìm kiếm TokenId của NFT
var nftTokenIds = []
for (var i = 0 ; i < nftBalance; i++) {
var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i)
nftTokenIds.push ((nftTokenId))
Log (("nftTokenId:", nftTokenId)
Dancinglife86Có lỗi /upload/asset/14e3b9c329f0e6d2b7e09.jpg 2 phương thức không đăng ký, ABI tìm đúng không? https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code tìm ở đây
Những nhà phát minh định lượng - những giấc mơ nhỏTrong hình ảnh của bạn có một nút sao chép ABI ở góc trên bên phải. Sao chép ngay lập tức. Uniswap trên các chuỗi khác sẽ giống nhau. Ngoài địa chỉ hợp đồng, bạn cũng nên điền địa chỉ hợp đồng trên chuỗi tương ứng.
Dancinglife86/upload/asset/14e185e563e61cd155424.jpg Xin hỏi ABI_UniswapV3Router ABI_NonfungiblePositionManager là sao chép nội dung của hình ảnh? Có thể, điền đầy đủ ABI, tóm tắt cũng không biết để tóm tắt Sau đó, nếu thay đổi chuỗi như Arbitrum, thay đổi các tham số khác ngoài địa chỉ RPC được thêm vào? Ví dụ: số USDT / ARB trong https://app.uniswap.org/#/pools/711084
Những nhà phát minh định lượng - những giấc mơ nhỏNếu bạn muốn có được một trong những hồ bơi trao đổi này, hãy giữ kho của riêng bạn, theo mã sau: `` const ABI_UniswapV3Router = ` quá dài bỏ qua để điền vào ABI cụ thể ` const ABI_NonfungiblePositionManager = ` quá dài để bỏ qua để điền vào ABI cụ thể ` const UniswapV3RouterAddress = "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" function main (() { // const walletAddress = exchange.IO (("address") const walletAddress = "hoặc chỉ định địa chỉ ví" // nhận địa chỉ 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) Không có gì đâu. var nftTokenIds = [] for (var i = 0 ; i < nftBalance; i++) { var nftTokenId = exchange.IO (("api", NonfungiblePositionManagerAddress, "tokenOfOwnerByIndex", walletAddress, i) nftTokenIds.push ((nftTokenId)) Log (("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 là mỗi thông tin lưu trữ thanh khoản, có thể phân tích cụ thể dữ liệu trong đó. ♪ ♪ ♪ ♪ `` Các bài viết sẽ được cập nhật trong thư viện sau đó.
Những nhà phát minh định lượng - những giấc mơ nhỏCó thể, bạn cần viết một ví dụ cụ thể về thử nghiệm, bạn có thể theo dõi bài viết này.
Dancinglife86Xin hãy giúp tôi giải quyết trước.