Contract-Development
我是否被鎖定為可升級智能合約的一個 solc 版本?
我想用來
delegatecall
使我的契約可升級。如果我更改
solc
版本,變數佈局是否會中斷,因此我應該為我的契約的所有未來版本使用相同的 Solidity 版本?
來自 Solidity 的文件:
儲存中狀態變數的佈局被認為是 Solidity 外部介面的一部分,因為儲存指針可以傳遞給庫。這意味著對本節中概述的規則的任何更改都被視為對語言的重大更改,並且由於其關鍵性質,在執行之前應非常仔細地考慮。
由於這種更改可能會破壞許多已經部署的合約,我猜他們不會更改佈局,除非有非常好的理由這樣做。