hardhat compile 報(bào)錯(cuò) Stack too deep

truffle 框架在智能合約開發(fā)中用的臺(tái)蛋疼了,想換個(gè)框架用用。


“CompilerError: Stack too deep when compiling inline assembly: Variable headStart is 1 slot(s) too deep inside the stack.” 報(bào)錯(cuò)提示。

當(dāng)npx hardhat compile 之后報(bào)這個(gè)錯(cuò)誤,隨后翻譯之后意思是說 函數(shù)堆棧錯(cuò)誤,百度之后也符合我的判斷,根據(jù)報(bào)錯(cuò)的說法,就是說某個(gè)函數(shù)的參數(shù)變量太多了,需要吧一個(gè)大函數(shù)改造成多個(gè)小函數(shù),那么問題就來了,這么多合約,我怎么定位到是那個(gè)函數(shù)導(dǎo)致了這個(gè)錯(cuò)誤呢??

? ? 顯然按這條思路下去解決問題簡直就是無解。

? ? 問了同事可能是合約太大了需要優(yōu)化,合約太大需要優(yōu)化我也遇見過,他報(bào)的錯(cuò)誤是 contract size too large。

? ? 得,沒轍,那就是試試,亂拳開始上不講邏輯了。


編譯配置中加了 優(yōu)化的選項(xiàng)之后,編譯通過了。what fuck,計(jì)算機(jī)也開始騙人啦???

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容