Uniswap

UNISWAP/PANCAKESWAP 獲取代幣的 LP 持有者列表

  • July 4, 2021

有沒有一種簡單的方法來獲取特定 Uniswap/Pancakeswap 對的 LP 持有者列表?我需要知道為我的代幣提供流動性的人的地址(已添加到 UNI/PAN)

由於 Pair 合約只有 balanceOf() 函式是映射的,所以在不知道映射鍵的情況下不可能讀取整個列表

我認為這樣做的唯一人道方式是使用 Infura(或其他節點),訂閱“Pair.mint()”事件並在此事件發生時觸發我的一些合約功能。但我覺得這個方法很醜

也許有一些更好的方法?謝謝

PS。在此處留下Pancakeswap的“對”合約的連結,以防萬一

獲取 LP 代幣持有者列表與獲取任何 ERC-20 代幣持有者列表沒有區別。LP代幣與其他代幣沒有區別:它有自己的ERC-20合約、合約地址、方法等。

推薦的方法是建立一個所有 ERC-20Transfer事件的數據庫,實時更新,然後從這個數據庫中提取你的快照。

這是一個通用的 ERC-20 代幣持有者回答

您也可以嘗試使用TheGraph 子查詢來解決問題。您還可以像這樣建構一個 Dune Analytics 查詢。在這兩種情況下,都有第三方維護現有的大型數據庫,該數據庫具有您可以查詢的高效索引。

引用自:https://ethereum.stackexchange.com/questions/102952