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ī)也開始騙人啦???