[閒聊] 關於Defi上簡單的合約判斷
唉,是說也太多人被騙了吧,我都覺我應該開個顧問公司幫你們這些好野人審核approve就賺翻了,不過人在貪的時候應該都聽不進去。
這禮拜我很衰的中鏢了,自己一個人在房間有夠無聊,來寫個簡單合約判斷積點福報,希我可以順利康復。
首先,大家要理解為什麼SWAP、添加流動性、質押都需要approve這個動作,我一個一個慢慢講,反正我現在有的是時間。
SWAP:就是把token X 給流動池然後流動池根據xy=k換算要給你多少Y,所以要完成這件事需要兩個步驟:傳token X 給流動池、流動池傳token Y 給你。如果一般使用者用
metamask 的token transfer功能只能完成第一步,第二步流動池不會自動幫你執行,你們必須要知道鏈上所有活動都是要有人來發起付gas fee的,所以這時候就需要智慧合約來幫忙在使用發起一次tx內完成兩個步驟的SWAP。
追根究柢,其實所謂的流動池就是包有一堆function的智慧合約。那當你對流動池發起一個tx,跟流動池說我要把1000個token X換成997個token Y的時候,代表流動池的合約要有權限從你的帳戶拿走1000個token X轉到流動池內(也就是transferFrom,這一步需要有token approve 額度),然後再從流動池轉997個token Y給你(transfer,這一步不用授權)說到這裡,大家可以理解為什麼SWAP需要先授權合約可以動你的幣了吧,不然合約就無法一個tx內完成兩步的SWAP
實際上的SWAP會再複雜一點,會透過一個router的合約,這個合約其實就是幫大家省
gas fee,因為你SWAP X to Y是一個流動池,SWAP X to Z又是另一個流動池,總不可能X to 100種幣就要approve 100次吧,所以才會有router這個合約,這個合約已經跟他下面的流動池都授權好了,所以如果來源是token X,只要允許router可以動你的token X他就可以幫你換成他下面流動池內有對應的幣,連X->A->B->C都可以,只要頭是X就可以。
如果SWAP可以理解,接下來講添加流動性,添加流動性其實也是透過router,原因跟上面一樣,現在你要添加一個X+Y的流動性進去XY池,需要三步,把同價值的X跟Y傳給流動池然後流動池按比例產生一定數量的LP token,再把LP傳給你。所以添加流動性跟SWAP其實是差不多的步驟,就是你用X+Y去SWAP成LP,所以需要授權router可以動你的X跟Y。同理如果你要用LP贖回你的X跟Y,就是反向SWAP而已,這時候就需要授權router可以動你的LP
最後是質押,有分質押單幣跟質押LP,其實都一樣,質押單幣其實跟添加流動性一樣,
你把X給質押池,質押池給你憑證,例如AAVE,polygon上你質押USDC給AAVE,會拿到
amUSDC的token當憑證,所以amUSDC其實可以在聚合器直接SWAP成USDC。有另一種做法是不給憑證的,直接記在質押合約裡,某地址質押多少單幣或LP。所以這一步會要求授權
可以動單幣或是LP。
講了這麼多,相信應該很清楚為什麼要approve了,那你們在進行approve的動作的時候,第一步請確定你approve的對象是合約,要怎麼確定呢,請看我的前文
#1Y3aODE0
裡面可以查approve的對象,然後去etherscan查那個地址,如果是合約會有一個contract分頁,然後切到那個分頁看有沒有code read write可以看,如果有那就是有驗證code。到這裡有9成左右是正規的,如果不能看到原始碼,只能看到一堆byte code,那我勸你換一個SWAP,很高的機率是詐騙。
最後,剩下的1成要怎麼判斷呢,這就需要看裡面的code怎麼寫了,這部分其實很難講,不過最初步的方法就是搜尋transferFrom這個函數,看用在什麼地方跟怎麼用,上面有提到你approve老半天其實都是在為transferFrom鋪路,這個函數是可以動你幣的主要函數,所以上面被莫名其妙轉幣的也都是透過這個函數,會顯示在tx內的inputData裡。不過這只是最最最初級的判斷方法,真的騙錢合約其實還有很多種玩法,像是proxy,callback之類的,這些我自己也還在學,所以大家還是盡量找正規有名的DEX玩吧,別去貪心搞一些來路不明的。
不過我也有玩過來路不明的,也就是土狗礦,只玩10U,賺了10U就跑了,然後就hard rug了,顆顆。
--
一樣斗內專線
macd-taiwan.near
--
MACD!!
好人一生平安
MACD!!!
大佬帶我飛
謝謝分享
推
實在太複雜了...感謝詳細解說
推
你是好人 但是會被騙的人 SWAP第一段讀完就已經看不懂
感謝說明
至少看不懂的人會知道裡面水很深被勸退也不錯
簡單說就是使用者授權給 router contract
再由 router 經過pair contract
function swap 計算完 安全轉移給用戶
不過最麻煩的 router function 選擇器
已由 uni 網頁前後端幫用戶處理好了
最難理解的 還是 aggregator項目的代碼
聚合器就是要串每個dex的介面,本來就會很複雜
不過為了套利我倒是大部分的dex swap介面都會接了
解說推。
佛心推 大大真是太好心
祝福早日康復
詳細解說給推
push push
推 祝早日康復
謝大大,祝康復後沒有副作用
祝 挑片只需五分鐘
佛心祝早日康復,但會被騙的人大概不會點這篇來看XD
推,長知識
推
想請問大大如果流動池的合約改成收到一定數量的A token
+ 就自動在扣掉gas fee後,轉對應數量的 B token回去,
是不是就能在不approve流動池使用自己錢包中的 A token
的情況下完成swap呢? 應該是我的假設有問題但又不確定
錯在哪
確實是看不懂,不過我之前定期會清授權,沒想到被鑽空子QQ
to傑利蛋 你這樣就授權要交易數量的A就好
例如授權1000A,合約拿走1000A後就不能再動你的A
另外合約只是鏈上的資料,不會自己發起交易,你的作法第二
步需要再發起一次交易,這樣中間的時間差如果有其他交易插
進來那價格要怎麼算給你呢?
這就是為什麼要在一個tx內完成兩步的原因
這個好!
爆
[爆卦] 上影片(有圖)我直接來掀民進黨的網軍群看有人喊失智列車的,一直要我把金流拿出來的,我今天重點在「除非今天我內容造假、 名單造假,否則媒體人甚至總統辦公室主任都在同一個群組,裡面我貼出來的內容,特權 疫苗跟疫苗綁樁,這在台灣合法嗎?而這些人在同一個群組裡面又要說蔡英文管不到,我 也只是剛好加入這個群組,我不知道他們在說什麼嗎?」是這樣嗎?這些東西都是對的囉 ?台灣人活該第一時間打不到疫苗,被拿去綁樁是這樣嗎?剛剛家裡人說我做的是犯罪,爆
[爆卦] 柯文哲:拜託,我是有唸書的柯文哲剛剛在記者會回應陳時中說的快篩陽=確診的8%-15%偽陽性問題 柯文哲:抗病毒藥物開立五個步驟,第一要有症狀,第二快篩陽,第三符合適應症,第四 排除禁忌症,第五藥物交互作用,要經過這五個步驟 現在病人太多卡住了,快篩陽到PCR到法律認證拖超過四天,藥發病五天內吃才有效,就 算陳時中不懂,後面那排我們都同一批老師教出來的,怎麼會這個有問題,現在PCR實際爆
[問卦] 浪費了幾十億 那高端的合約可以公佈了嗎浪費了幾十億 那高端的合約可以公佈了嗎? CDC都說了 三百萬針如果沒人打 就是拿去丟 然後之前打的兩百萬 自己承認都是白打 要再重打別的牌子 所以其實也等於都是浪費 還白白浪費醫護的時間薪水還白死了幾個高端仔 所以高端的合約可以公佈了嗎?爆
[問卦]派愛族(pairs)使用一個月後的感想,燒錢之前講了一款JD燒錢又只能把裡面的女人當女皇一樣對待 在那邊參加女性發起的約會都是你要付錢,很多女人都是蹭免費大餐 另外一位鄉民已經親身說明他靠著帥氣照片,讓開約的女性挑選中勝出 最後結果是他看到龍,藉著尿遁付完錢就跑了。就結果來說JD的女性還是賺到 現在來說說派愛族這款,因為我說也有購買,鄉民私底下就問我使用感想爆
[求助] 突然被公司的前台妹妹問是否要交往?(在一起了 真相炫耀)先介紹自己.66/02/13 身高172(號稱 實際只有171.4~.04) 體重65 外表分數 大概就70(自認為)左右.唯一的優點大概就是看起來不老 有健身習慣.沒肚子 (單身.以前被傷過一次很重的.然後就慢慢習慣單身的自由)爆
Re: [問卦] 整天說白色蟑螂,結果到最後都綠的?當做閒聊 我也是自己在亂猜的 卡神原謝系 後來謝系被英派收編 卡神2019明顯在幫英派和暖男在PTT發文 製造大量蔡英文FB爆文爆
[討論] 真的是我的問題嗎?最近跟男友討論到結婚的問題 婚後勢必要跟公婆一起住 我最在意的點就是男友家的廁所 因為馬桶老舊 前一位上完廁所下一位使用者沒辦法使用爆
[心得] 我在基金會上班的日子==========最後更新========== 我是天秤座的...... 一樣再聲明一下 本文未經本人同意,請勿轉載於任何地方 包含任何媒體形式刊登。24
Re: [閒聊] 今年散戶應該都離場了吧嗨!大家好,我最喜歡講技術的文章了。 最近幾個月都研究FlashLoan的技術,也略有心得,這篇來分享一下。 我主力目前是DEX之間的幣對價差,MEV黑森林中的一小部分,看到有人想當伸手牌,我大 概分享幾個關鍵字。DYOR 前端:web3.js、node.js。