實例詳解:以cocoro為例講解evm系鏈上分析
前天狗媽在博客上發了新文章( https://kabochan.blog.jp/archives/53553858.html ),收養了新的狗狗,並同Own The Doge社區合作,推出了官方代幣$cocoro,部署在BASE鏈,合約地址為0x937a1cFAF0A3d9f5Dc4D0927F72ee5e3e5F82a00。
此篇文章發表後代幣的價格一直上漲,一個小時內市值最高突破100M。本文將一步步講解dev在鏈上的各種操作。
一、如何驗證代幣經濟學的分配
我們在Own The Doge社區的官推中可以看到$cocoro的代幣經濟學,其中75%添加LP、20%社區空投、5%DAO儲備金。
當看到上面的代幣經濟學時,我們如何驗證dev是否按代幣經濟學進行了正確的分配呢?
常用的各工具對BASE鏈的支持有限,目前在查看資金池變化方面做的最好並且易用的工具是okx。
我們打開okx网页版,輸入$cocoro的CA ( https://www.okx.com/zh-hans/web3/detail/8453/0x937a1cfaf0a3d9f5dc4d0927f72ee5e3e5f82a00 ),在【資金池變化】欄可以看到所有的加池子和減池子操作,對【時間】按正序排列,可以看到最早的兩筆加池子操作,分別各加了375M的$cocoro單邊池,這兩筆交易的數量正好是75%,和代幣經濟學中描述一致。
在【持幣地址】欄可以看到地址持倉情況,其中榜二地址的持倉剛上線時是25%,符合代幣經濟學中的20%社區空投、5%DAO儲備金。圖中榜二地址顯示持倉26.38%,比25%多是因為dev領取了加池子的手續費,幣變多了。
二、如何查看dev的操作
幾款常用的工具對BASE鏈dev地址的識別和操作都表現一般,我們可以用區塊瀏覽器進行分析。
1、找出dev地址
打開區塊瀏覽器,輸入$cocora的CA( https://basescan.org/address/0x937a1cfaf0a3d9f5dc4d0927f72ee5e3e5f82a00 ),在首頁【More Info】欄我們可以看到合約創建信息,包括dev地址、代幣創建的交易hash、資金來源地址,從圖中我們可以知道dev地址為0x319C399d3D7d7A2972a6A59646A060Bb29d82A29
2、查看dev的操作
在區塊瀏覽器中輸入dev地址0x319C399d3D7d7A2972a6A59646A060Bb29d82A29 ( https://basescan.org/address/0x319c399d3d7d7a2972a6a59646a060bb29d82a29 ),打開【Token Transfers(ERC-20)】欄,只看【Token】列為"ERC-20: Cocoro"的交易,從下往上每筆交易依次為:
a、創建代幣並且mint出1B數量的代幣
b、向測試地址轉入1個代幣,用以驗證功能正常(說明dev還是很小心謹慎)
c、將測試地址轉入的1個代幣轉回dev地址
d、兩筆交易分別將375M數量的代幣添加單邊池子(對應第一章加池子部分)
f、將剩餘250M數量的代幣轉入地址0x735A2Ea69997e668dD0f4b2a30fFa9f01e045072
3、查看LP歸屬
在Unisawp V3中添加池子會自動mint一個NFT,此NFT記錄了池子的詳情信息,擁有此NFT即擁有對應的池子,可以通過轉移NFT轉移池子的所有權,鎖池子也是通過對NFT進行操作。
在上一節dev地址中打開【NFT Transfers】欄可以看到NFT的轉移情況,從下往上每筆交易依次為:
a、最下面兩筆交易是添加單邊池,mint對應的NFT,對比上一節中的交易d
b、分兩筆交易將兩個池子的NFT轉給地址0x735A2Ea69997e668dD0f4b2a30fFa9f01e045072
對於a中的兩筆交易,我們任意打開一筆,查看交易詳情可以獲得NFT的Token ID。比如打開上圖中最後一筆交易( https://basescan.org/tx/0x12efd530c4245216596993c780075770484622cd68e9cd85e18497bf93bacd81 ),查看詳情可知dev將375M數量的幣轉移給了一個地址,但是沒有轉weth,說明此處是添加的單邊池,並不是雙邊池。在下面部分可以看到此池子對應NFT的Token ID為2256046,如圖。
同理我們可以查看另一筆加池子交易對應NFT的Token ID為2256052。
4、驗證是否鎖池子
Own The Doge社區的官推提到75%的LP永久鎖定,那麼怎麼查看有沒有鎖呢?通過上節內容我們知道dev將池子的所有權轉移給地址0x735A2Ea69997e668dD0f4b2a30fFa9f01e045072,那麼我們需要查看此地址有沒有鎖池子的行為。
在區塊瀏覽器中輸入此地址(https://basescan.org/address/0x735a2ea69997e668dd0f4b2a30ffa9f01e045072),查看【Transactions】、【Token Transfers(ERC-20)】版塊的交易,沒有發現和鎖池子相關的交易,說明官推中提到的鎖池子目前並沒有做。只看到有一筆領取手續費的操作( https://basescan.org/tx/0x316d0ea27ae38fd33b694e2bb444c5ec1567a56b7e4b403ec257d3c0ccb1a124 ),領取的手續費價值170萬u左右。
三、如何查看LP的詳細信息
由上文可知,dev在初始時加了兩個單邊池,那麼如何查看這兩個單邊池的詳細信息,比如區間價格和產生的手續費有多少?
1、使用Uniswap官方APP
打開Uniswap網站https://app.uniswap.org/,根據手機類型下載對應的APP,在錢包設置中【添加錢包】--【添加僅供查看的錢包】,輸入擁有池子所有權的地址0x735A2Ea69997e668dD0f4b2a30fFa9f01e045072。
在Uniswap網站右上角的【連接】選擇【Uniswap移動端 掃碼二維碼進行連接】,頁面上出現二維碼,用手機上的Uniswap掃描,點擊"連接"
掃描成功後網頁端即連上了錢包,在網頁右上角可以看到連接的錢包地址,在【資金池】欄可以看到池子信息,關於$cocoro的池子有兩個,其中一個已經超出區間,另一個在區間內。
點擊池子可以看到詳細信息,比如價格區間的最低價格、最高價格、當前價格,還能看到池子中目前剩餘的weth和cocoro的數量,以及未領取的手續費。
目前兩個池子中未領取的手續費分別為12萬u和11.9萬u,通過第二章第4節內容知已領取的手續費為170萬u,項目方目前在手續費上收入總共194萬u。
這種查看方式的好處是Uniswap原生支持,缺點是需要下載APP。
2、網址直接查看
通過上節查看方式,我們可以知道池子的网址是"https://app.uniswap.org/positions/v3/base/2256046",其中網址中最後部分的數字即是NFT的Token ID。我們在第二章第3節中已經查詢到兩個池子對應NFT的Token ID分別為2256046、2256052,因此我們可以分別構造出兩個池子的查看網址,即:
https://app.uniswap.org/positions/v3/base/2256046
https://app.uniswap.org/positions/v3/base/2256052
由上面的兩個網址即可以查詢到池子的詳細信息。
這種方式的好處是構造網址即可以方便快速的查看,不過需要提前查詢出池子對應NFT的Token ID。
3、利用impersonator模擬
impersonator是一個開源項目( https://github.com/impersonator-eth/impersonator ),可以通過WalletConnect 或 iFrame 模擬任何以太坊地址登錄 dapp。
打開impersonator的官網 https://impersonator.xyz/,可以看到需要填錢包地址和選擇鏈,這裡錢包地址填0x735A2Ea69997e668dD0f4b2a30fFa9f01e045072,鏈選擇"Base",下方支持三種模擬方式"WalletConnect"、"iFrame"、"Extension"。
(1)WalletConnect方式
用WalletConnect方式,我們需要先打開Uniswap網頁,在右上角【連接】選擇【WalletConnect】
在出現的WalletConnect二維碼頁面中點擊複製,然後將內容粘貼到impersonator網站中的"WalletConnect URI"處,此時Uniswap網站就會連接到上面輸入的地址,此時即可查看池子信息。
(2)iFrame方式
選擇iFrame方式就比較簡單,直接將Uniswap的网址輸入"dapp URL"處,點"Connect"即可在下方出現Uniswap連接上錢包的网址界面。此時即可查看池子的詳細信息。
此種方式有些dapps可能不支持,如果不支持可以選擇上節的WalletConnect方式查看。
"Extension"方式是通過插件模擬,此處不做研究。
impersonator目前也支持solana鏈錢包的模擬登錄dapps,不過目前只支持WalletConnect方式。我們在之前的文章《手把手教學:快速掌握Meteora流動性性價格區間的查看方法》第二章選擇用觀察錢包查看,此時就可以利用impersonator進行模擬登錄。不過遺憾的是Meteora目前暫時不支持WalletConnect方式連接錢包。